如何使用Python腳本語言的繪圖庫Matplotlib
2023年01月20日 11:24:13
來源:云南昌暉儀表制造有限公司 >> 進入該公司展臺
閱讀量:27
本文介紹Python計算機程序設計腳本語言中一個重要的繪圖庫Matplotlib,它可以生成各種硬拷貝格式和跨平臺交互式環境的出版物質量數據。Matplotlib可用于Python腳本,Python和IPython shell,Jupyter筆記本等。
對于簡單的繪圖,pyplot模塊提供類似MATLAB的接口,特別是與IPython結合使用時。對于高級用戶,你可以通過面向對象的界面或通過MATLAB用戶熟悉的一組函數控制線型,字體屬性,軸屬性等。如下圖,你可以自由繪制常見圖形,3D圖形等。

關于Matplotlib如何安裝可以自行搜索,昌暉儀表建議初學者安裝Anaconda軟件,Anaconda 是一個用于科學計算的Python發行版,支持Linux,Mac,Windows,包含了眾多流行的科學計算、數據分析的Python包。可以登錄獲取軟件。根據自己的操作系統選擇對應的軟件,Python版本選擇3.7。
軟件的具體安裝方法不再累述,安裝完成后,打開Anaconda Navigator后如下圖顯示。
我們的編程測試環境將使用Jupyter Notebook,點擊“Launch”登錄后將如下圖顯示
建立一個項目文件夾,然后新建一個Python 3的項目,我們就可以愉快的編程了。
案例1:繪制一條線import matplotlib.pyplot as plt #導入pyplotimport numpy as np #導入numpy# np.linspace為numpy的等差數列函數,形成一個0到100之間,共50個元素的函數x=np.linspace(0,100,50)y=2*x+1 #賦值運算#最重要的一步,plot用于繪制線條或標記的軸,可以線性,顏色等plt.plot(x,y) #默認直接繪制plt.show()
案例2:繪制一條特殊的線import matplotlib.pyplot as pltimport numpy as npx=np.linspace(0,100,20)#print (x)y=2*x+1#與案例1中不同的是增加很多參數,如color(顏色), linewidth(線寬), linestyle(線性), marker(標記)plt.plot(x,y,color='red',linewidth=1.0,linestyle='-',marker='o')plt.show()
案例3:繪制餅圖
import matplotlib.pyplot as pltlabels='Frogs', 'Hogs', 'Dogs', 'Logs' #定義標簽sizes=[15, 30, 45, 10] #定義餅圖的大小explode=(0, 0.1, 0, 0) #定義切片fig1, ax1 = plt.subplots() #導入餅圖#定義餅圖的樣式,此示例將 startangle設置為90 ,以便將所有對象逆時針旋轉90度,定義了數#據顯示格式以小數顯示,帶陰影ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=90)ax1.axis('equal') # 等縱橫比可確保將餅圖繪制為圓。.plt.show()
案例4:繪制3D圖import matplotlib.pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3D #導入3D圖庫fig = plt.figure(figsize=(12, 8)) #figure的大小ax = Axes3D(fig)# 生成X,YX = np.arange(-4, 4, 0.25)Y = np.arange(-4, 4, 0.25)X,Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2) # height valueZ = np.sin(R)# 繪圖# rstride(row)和cstride(column)表示的是行列的跨度ax.plot_surface(X, Y, Z, rstride=1, # 行的跨度 cstride=1, # 列的跨度 cmap=plt.get_cmap('rainbow') # 顏色映射樣式設置 )# offset 表示距離zdir的軸距離ax.contourf(X, Y, Z, zdir='z', offest=-2, cmap='rainbow')ax.set_zlim(-2, 2)plt.show()
以上代碼已測試通過,感興趣的朋友可以進行測試。更多Matplotlib的應用可以參考詳細資料介紹。
作者:老羅,具有10年工業自動化領域的SCADA、DCS、PLC等項目實施經驗,熟悉石化行業、油田數字化行業,熟悉多個品牌PLC、、SCADA、數據庫等。
版權與免責聲明:
1.凡本網注明"來源:歐亞貿易網"的所有作品,版權均屬于歐亞貿易網,轉載請必須注明歐亞貿易網。違反者本網將追究相關法律責任。
2.企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
3.本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
4.如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系。