matplotlib教程

有的時候我們想知道我們所處理的數(shù)據(jù)是如何分布的,在計算的時候又是如何變化的.僅靠打印很難有直觀的感受.最好的辦法就是用圖像把數(shù)據(jù)表達出來.
本文介紹一下phthon中常用畫圖模塊matplotlib的基本用法,相當于matlab

曲線圖

Figure_1.png
# 構(gòu)造數(shù)據(jù)
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 50)
y1 = x ** 2 + 1
y2 = 2 * x + 1

# 畫圖
plt.plot(x, y2,label='2 * x + 1')
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--',label='x ** 2 + 1')
# 顯示標注
plt.legend()

plt.show()

散點圖

Figure_2.png
import matplotlib.pyplot as plt
import numpy as np

# 散點圖
x = np.random.normal(0, 1, 1024)
y = np.random.normal(0, 1, 1024)
# 隨機顏色
T = np.arctan2(x, y)

plt.scatter(x, y, s=75, c=T, alpha=0.5)

# 設置橫縱坐標軸展示范圍
plt.xlim((-1.5,1.5))
plt.ylim((-1.5,1.5))

# 隱藏橫縱坐標軸
plt.xticks(())
plt.yticks(())

plt.show()

直方圖

Figure_4.png
import matplotlib.pyplot as plt
import numpy as np

##  直方圖费彼。。口芍。箍铲。

## 生成數(shù)據(jù)
n = 12
X = np.arange(n)
Y1 =  np.random.uniform(0.5,1.0,n)
Y2 =  np.random.uniform(0.5,1.0,n)

#  畫圖
plt.bar(X, +Y1, facecolor='#9999ff', edgecolor='white')
plt.bar(X, -Y2, facecolor='#ff9999', edgecolor='white')

## 標注數(shù)值
for x,y in zip(X,Y1):
    plt.text(x+0.4, y+0.05, '%.2f' % y, ha='center', va= 'bottom')

# 設置y軸展示范圍
plt.ylim(-1.25,+1.25)
plt.show()

餅狀圖

Figure_1-1.png
import matplotlib.pyplot as plt

#調(diào)節(jié)圖形大小,寬鬓椭,高
plt.figure(figsize=(6,9))
#定義餅狀圖的標簽颠猴,標簽是列表
labels = [u'one',u'two',u'three']
#每個標簽占多大,會自動去算百分比
sizes = [60,30,10]
colors = ['red','yellowgreen','lightskyblue']
#將某部分爆炸出來小染, 使用括號翘瓮,將第一塊分割出來,數(shù)值的大小是分割出來的與其他兩塊的間隙
explode = (0.05,0,0)

patches,l_text,p_text = plt.pie(sizes,explode=explode,labels=labels,colors=colors,
                                labeldistance = 1.1,autopct = '%3.1f%%',shadow = False,
                                startangle = 90,pctdistance = 0.6)

#labeldistance裤翩,文本的位置離遠點有多遠资盅,1.1指1.1倍半徑的位置
#autopct,圓里面的文本格式,%3.1f%%表示小數(shù)有三位呵扛,整數(shù)有一位的浮點數(shù)
#shadow每庆,餅是否有陰影
#startangle,起始角度今穿,0缤灵,表示從0開始逆時針轉(zhuǎn),為第一塊蓝晒。一般選擇從90度開始比較好看
#pctdistance腮出,百分比的text離圓心的距離
#patches, l_texts, p_texts,為了得到餅圖的返回值芝薇,p_texts餅圖內(nèi)部文本的胚嘲,l_texts餅圖外label的文本

#改變文本的大小
#方法是把每一個text遍歷。調(diào)用set_size方法設置它的屬性
for t in l_text:
    t.set_size=(30)
for t in p_text:
    t.set_size=(20)
# 設置x剩燥,y軸刻度一致慢逾,這樣餅圖才能是圓的
plt.axis('equal')
plt.legend()
plt.show()

手寫圖

這個就是好看用的了,嘿嘿


Figure_6.png
import numpy as np
import matplotlib.pyplot as plt

eqs = []
eqs.append((r"$W^{3\beta}_{\delta_1 \rho_1 \sigma_2} = U^{3\beta}_{\delta_1 \rho_1} + \frac{1}{8 \pi 2} \int^{\alpha_2}_{\alpha_2} d \alpha^\prime_2 \left[\frac{ U^{2\beta}_{\delta_1 \rho_1} - \alpha^\prime_2U^{1\beta}_{\rho_1 \sigma_2} }{U^{0\beta}_{\rho_1 \sigma_2}}\right]$"))
eqs.append((r"$\frac{d\rho}{d t} + \rho \vec{v}\cdot\nabla\vec{v} = -\nabla p + \mu\nabla^2 \vec{v} + \rho \vec{g}$"))
eqs.append((r"$\int_{-\infty}^\infty e^{-x^2}dx=\sqrt{\pi}$"))
eqs.append((r"$E = mc^2 = \sqrt{{m_0}^2c^4 + p^2c^2}$"))
eqs.append((r"$F_G = G\frac{m_1m_2}{r^2}$"))


plt.axes([0.025,0.025,0.95,0.95])

for i in range(24):
    index = np.random.randint(0,len(eqs))
    eq = eqs[index]
    size = np.random.uniform(12,32)
    x,y = np.random.uniform(0,1,2)
    alpha = np.random.uniform(0.25,.75)
    plt.text(x, y, eq, ha='center', va='center', color="#11557c", alpha=alpha,
             transform=plt.gca().transAxes, fontsize=size, clip_on=True)

plt.xticks([]), plt.yticks([])
# savefig('../figures/text_ex.png',dpi=48)
plt.show()

本文鏈接:https://www.kupposhadow.com/post/5a1fd8dbe717c543d753e7d6
本站采用「署名 4.0 國際(CC BY 4.0)」創(chuàng)作共享協(xié)議。只要在使用時署名灭红,那么使用者可以對本站所有原創(chuàng)內(nèi)容進行轉(zhuǎn)載侣滩、二次創(chuàng)作、商業(yè)性使用变擒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末君珠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子娇斑,更是在濱河造成了極大的恐慌策添,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毫缆,死亡現(xiàn)場離奇詭異唯竹,居然都是意外死亡,警方通過查閱死者的電腦和手機苦丁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門浸颓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旺拉,你說我怎么就攤上這事产上。” “怎么了蛾狗?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵晋涣,是天一觀的道長。 經(jīng)常有香客問我沉桌,道長谢鹊,這世上最難降的妖魔是什么算吩? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮撇贺,結(jié)果婚禮上赌莺,老公的妹妹穿的比我還像新娘。我一直安慰自己松嘶,他們只是感情好艘狭,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著翠订,像睡著了一般巢音。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上尽超,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天官撼,我揣著相機與錄音,去河邊找鬼似谁。 笑死傲绣,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的巩踏。 我是一名探鬼主播秃诵,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼塞琼!你這毒婦竟也來了菠净?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤彪杉,失蹤者是張志新(化名)和其女友劉穎毅往,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體派近,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡攀唯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了渴丸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片革答。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖曙强,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情途茫,我是刑警寧澤碟嘴,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站囊卜,受9級特大地震影響娜扇,放射性物質(zhì)發(fā)生泄漏错沃。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一雀瓢、第九天 我趴在偏房一處隱蔽的房頂上張望枢析。 院中可真熱鬧,春花似錦刃麸、人聲如沸醒叁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽把沼。三九已至,卻和暖如春吁伺,著一層夾襖步出監(jiān)牢的瞬間饮睬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工篮奄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捆愁,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓窟却,卻偏偏與公主長得像昼丑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子间校,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,161評論 25 707
  • 介紹 matplotlib 是python最著名的繪圖庫矾克,它提供了一整套和matlab相似的命令API,十分適合交...
    羽恒閱讀 1,066評論 0 1
  • Pyplot 模塊 import matplotlib.pyplot as plt 確定坐標范圍 plt.axis...
    羽恒閱讀 1,642評論 0 0
  • [TOC] linux系統(tǒng)下不能顯示中文字體的問題 1. 畫圖——基礎(chǔ) 了解圖的基本組成部分 2. 畫圖——樣式 ...
    Jlan閱讀 1,707評論 0 3
  • 匯報下本周和本周作業(yè)的情況: 本周貌似一切走上正軌憔足,開始適應胁附。心情很好,語文考的不錯滓彰,數(shù)學考的不錯控妻,(所謂的不錯就...
    果果花閱讀 486評論 1 2