1. 程式人生 > >Matplotlib基礎

Matplotlib基礎

com install .com 條形圖 情況下 plot idt lod 查找

Matplotlib 能夠創建多數類型的圖表,如條形圖,散點圖,條形圖,餅圖,堆疊圖,3D 圖和地圖圖表。首先,為了實際使用 Matplotlib,我們需要安裝它。如果你安裝了更高版本的 Python,你應該能夠打開 cmd.exe 或終端,然後執行:pip install matplotlib。或者在安裝Anaconda的情況下可以在環境中查找matplotlib並Apply。

為了能夠在程序中使用matplotlib,我們需要在程序的開頭將其引入:import matplotlib,通常我們使用較多的是pyplot這個模塊,因此import matplotlib.pyplot as plt,接下來就可以在程序中使用他們了。

練習1:繪制三角函數圖像,並為圖像增加圖例,添加圖表標題,x軸、y軸標題。

代碼:

x1=np.arange(0,2,0.01)
y1=np.sin(2*np.pi*x1)
x2 = np.arange(0,2,0.01)
y2 =np.cos(2*np.pi*x2)
#在同一副圖裏畫出兩個函數的圖像
plt.plot(x1,y1,label="sin(x)")
plt.plot(x2,y2,label="cos(x)")
plt.legend()
plt.show()

程序運行結果:

技術分享圖片

練習2:繪制條形圖

代碼:

x1=[1,3,5,7,9]
y1=[1,2,5,4,8]
x2=[2,4,6,8,10]
y2
=[3,2,4,7,1] plt.bar(x1,y1,label="ex.1") plt.bar(x2,y2,label="ex.2") plt.legend() plt.xlabel("bar number") plt.ylabel("bar height") plt.title("Hoho") plt.show()

結果:

技術分享圖片

Pyplot.bar()函數可以繪制條形圖,並指定條形圖的圖例,顏色等參數。同樣地,可以給圖標的坐標軸設置標題以及為圖標設置標題。

練習3:繪制直方圖

代碼:

population_ages =[22,55,62,45,21,22,34,42,42,4,99,102,110,120,
1,21,122,130,111,115,112,80,75,65,54,44,43,42,48] bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130] plt.hist(population_ages, bins, histtype=bar, rwidth=0.8,label="ex.01") plt.xlabel("x") plt.ylabel("y") plt.legend() plt.title("Interesting Graph") plt.show()

程序結果:

技術分享圖片

Pyplot.hist()函數可以繪制直方圖,用以描述頻數的分布狀況。在這個函數中,可以指定要畫的數據所存儲的變量,直方圖類型(histtype),寬度,圖例等參數。

練習4:繪制散點圖

代碼:

x = [1,2,3,4,5,6,7,8]
y = [5,2,4,2,1,4,5,2]
plt.scatter(x,y)
plt.show()

程序結果:

技術分享圖片

在這段代碼中,我們只需要指定每個點的X值和Y值,然後使用pyplot.scatter()函數即可繪制,非常簡單。

練習5:繪制堆疊圖

堆疊圖用於顯示『部分對整體』隨時間的關系。 堆疊圖基本上類似於餅圖,只是隨時間而變化。

代碼:

days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating = [2,3,4,3,2]
working = [7,8,7,2,2]
playing = [8,5,7,8,13]
plt.plot([],[],color=m, label=Sleeping, linewidth=8)
plt.plot([],[],color=c, label=Eating, linewidth=8)
plt.plot([],[],color=r, label=Working, linewidth=8)
plt.plot([],[],color=k, label=Playing, linewidth=8)
plt.legend()
plt.stackplot(days,sleeping,eating,working,playing,colors=["r","g","b","m"])
plt.show()

程序結果:

技術分享圖片

練習6:繪制餅圖

餅圖很像堆疊圖,只是它們位於某個時間點。 通常,餅圖用於顯示部分對於整體的情況,通常以%為單位。 幸運的是,Matplotlib 會處理切片大小以及一切事情,我們只需要提供數值。

代碼:

slices = [7,2,2,13]
activities = [sleeping,eating,working,playing]
cols = [c,m,r,b]#指定每一部分繪制時的顏色
plt.pie(slices,
labels=activities,
colors=cols,
startangle=90,#開始繪制的角度,設置為90°是為了便於觀看
shadow= True,
explode=(0,0.1,0,0),#設置eating部分突出,對應於第二個下標
autopct=%1.1f%%)#將百分比放置在圖表上
plt.title(Graph t)
plt.show()

程序結果:

技術分享圖片

Matplotlib基礎