【Python】簡述Matplotlib庫常用方法和屬性


折線圖:

import matplotlib.pyplot as plt
import random
plt.figure(figsize = (20,8),dpi = 100)
x = range(40)
y = [random.uniform(18,22) for i in range(40)]
y1 =  [random.uniform(12,16) for i in range(40)]
x_label = ["11:{}".format(i) for i in x]
plt.xticks(x[::5],x_label)
plt.yticks(range(10,25,1))
plt.grid(linestyle = '--',alpha = 1)
plt.xlabel("time change")
plt.ylabel("work")
plt.title("test")
plt.plot(x,y,linestyle='-.',label="tttttt1")
plt.plot(x,y1,linestyle = '-',label="sssssss2")
plt.legend()
plt.savefig("abcd.png")
plt.show()
折線圖

通過運行上面一段程序,可以得到下圖

 

柱狀圖:

import matplotlib.pyplot as plt
import random
x1 = range(5)
x2 = [i+0.2 for i in range(5)]
y1 = [random.uniform(1000,10000) for i in x1]
y2 = [random.uniform(1000,10000) for i in x1]
plt.figure(figsize=(23,8),dpi=100)
plt.bar(x1,y1,width=0.2,color=['r','b','k','c','m'],label="13:00")
plt.bar(x2,y2,width=0.2,color=['y','g','m','r','b'],label="15:00")
plt.xticks([i+0.1 for i in range(5)])
plt.yticks(range(0,11000,1000))
plt.legend()
plt.grid(linestyle="--",alpha=0.5)
plt.show()
復合柱狀圖

通過運行上面一段程序,可以得到下圖

 

餅狀圖:

import random
import matplotlib.pyplot as plt
x = ['a','b','c','d','e','f','g','h']
y = [random.randint(900,2200) for i in range(8)]
plt.figure(figsize=(20,8),dpi=100)
plt.pie(y,labels=x,colors=['r','b','k','c','m','y','g','k'],autopct="%1.2f%%")
plt.axis('equal')
plt.legend()
plt.show()
餅狀圖

通過運行上面一段程序,可以得到下圖

 

直方圖:

import random
import matplotlib.pyplot as plt
a = [random.randint(0,100) for i in range(60)]
print(a)
plt.figure(figsize=(20,8),dpi=100)
points = 2
group_num = int(max(a)-min(a)/points)
print(group_num)
plt.xticks(range(min(a),max(a)+2,distance))
plt.grid(linestyle="--",color="r",alpha=0.8)
plt.hist(a,bins=group_num,density=True)
plt.show()
直方圖

通過運行上面一段程序,可以得到下圖

 

散點圖:

import matplotlib.pyplot as plt
import random
x = [random.uniform(200,300) for i in range(10)]
y = [random.uniform(500,800) for i in range(10)]
plt.figure(figsize=(23,8),dpi=100)
plt.xticks(range(190,310,10))
plt.yticks(range(100,1000,50))
plt.grid(linestyle="--",color="g",alpha=1)
plt.scatter(x,y,label="newtest")
plt.legend()
plt.show()
散點圖

通過運行上面一段程序,可以得到下圖

 

在一個畫布中繪制多個圖像:

import matplotlib.pyplot as plt
import random
figure,axes=plt.subplots(2,1,figsize = (30,8),dpi = 100)
x = range(40)
y = [random.uniform(18,22) for i in range(40)]
y1 =  [random.uniform(12,16) for i in range(40)]
x_label = ["11:{}".format(i) for i in x]
axes[0].plot(x,y,color="g",linestyle="-",label="test1")
axes[1].plot(x,y1,color="r",linestyle="-.",label="test2")
axes[0].set_xticks(x[::2])
axes[0].set_xticklabels(x_label[::2])
axes[1].set_xticks(x[::5])
axes[1].set_xticklabels(x_label[::5])
axes[0].set_xlabel("test")
axes[0].set_ylabel("test")
axes[0].set_title("test")
axes[1].set_xlabel("test")
axes[1].set_ylabel("test")
axes[1].set_title("test")
axes[0].legend()
axes[1].legend()
axes[0].grid(linestyle="--",alpha=0.5)
axes[1].grid(linestyle="-.",alpha=1)
plt.show()
同一畫布中繪制多個圖像

通過運行上面一段程序,可以得到下圖

 

通過上述幾個例子,可以得到以下常用函數用法。

plt.figure(figsize=(32,16),dpi=120)  ###可以繪制一個制定大小的畫布,其中常用的參數有figsize(可自定義畫布大小),dpi(可定義清晰度)。還有一些不常用的,比如facecolor可以自定義背景顏色
plt.xticks(list,x_label)  ###可以自定義x軸內容,list正如list一樣要傳入一個列表,后者x_label傳入自定義內容
plt.yticks(list,y_label)  ###同xticks
plt.xlabel("自定義x軸圖例")  ###可以自定義X軸圖例
plt.ylabel("自定義y軸圖例")  ###可以自定義y軸圖例
plt.grid(linestype="-.",alpha=0.5)  ###可以自定義網格,其中linestyle為線條類型,alpha為透明度
plt.title("自定義圖標標題")  ###可以自定義圖表的標題
plt.legend()  ###可以顯示圖例
plt.savefig("abc.png")  ###可以將圖表保存為圖像到本地
plt.show()  ###可以顯示圖像

plt.plot(x,y,label="折線圖")  ###繪制折線圖,傳入的x與y必須為列表,label自定義折線圖名字
plt.scatter(x,y,label="newtest")  ###繪制散點圖,參數使用方法同上
plt.bar(x,y,width=0.5,color=['r','b','k','c','m','y','g','k','c','b'])  ###繪制柱狀圖,width可自定義柱體大小,color自定義每個柱體顏色(顏色必須傳入為列表且與len(x)相對應)
plt.hist(a,bins=group_num,density=True)  ###繪制直方圖,其中a為傳入的數據集,bins為傳入的組數,density默認為False(是否顯示頻度)
plt.pie(y,labels=x,colors=['r','b','k','c','m','y','g','k'],autopct="%1.2f%%")  ###繪制餅狀圖,其中y為每塊的值,labels為每塊的名稱,autopct數值保留固定小數位
plt.subplots(nrows, ncols)  ###在一個畫布中繪制多個圖像,nrows為行數,ncols為列數

 需要注意的是,subplots和其他幾個繪圖函數不同的是,其中每個圖像的各個函數需要加上set_

內容未完待續,在后期學習或者使用中如果筆者遇到更多內容將繼續更新


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM