利用matplotlib實現(xiàn)兩張子圖分別畫函數(shù)圖
更新時間:2023年08月18日 09:52:34 作者:逯小藍
這篇文章主要介紹了利用matplotlib實現(xiàn)兩張子圖分別畫函數(shù)圖問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
matplotlib實現(xiàn)兩張子圖分別畫函數(shù)圖
首先說明一下為什么要用兩張子圖同時畫圖,在科研論文寫作中,通常會采用組圖的形式來展現(xiàn)幾張需要對比的圖,如果單獨畫圖的話需要將每張圖片通過PS等軟件進行拼接。
而同時在子圖上繪圖就會大大節(jié)省時間和精力。
繪制兩張子圖的邏輯是,先創(chuàng)建整張畫布,然后分布畫出兩張子圖。
整體結構如下
fig1 = plt.figure(figsize = (8,2),dpi = 90) #確定畫布大小 ax1 = fig1.add_subplot(1,2,1) #繪制第1幅子圖 pass ax2 = fig1.add_subplot(1,2,2)#繪制第2幅子圖 pass plot.show()
圖形基礎設置
plt.title('#1') #設置圖片標題 plt.xlabel('X') #設置X軸標題 plt.ylabel('Y') #設置Y軸標題 plt.xlim(0,1) #設置X軸刻度的取值范圍 plt.ylim(0,1) #設置Y軸刻度的取值范圍
數(shù)軸刻度設置
x_ax = [] #存儲X軸刻度值 y_ax = [] #存儲Y軸刻度值 for i in range(10): x_ax = np.append(x_ax, i/10) #設置刻度范圍,并調節(jié)步長 for i in range(10): y_ax = np.append(y_ax, i/10) plt.xticks(x_ax) #顯示X軸刻度 plt.yticks(y_ax) #顯示Y軸刻度
函數(shù)的寫法
data = np.arange(0,np.pi*2,0.01) #由于沒有真實數(shù)據(jù),所以偽造數(shù)據(jù)集 plt.plot(data,data**2+data*2) #y=x^2+2x plt.plot(data,data**3) #y=x^3
圖例的設置
plt.legend(['y = x^2+2x','y = x^3']) #loc = "best" 可以將圖例調到最合適的位置
完整代碼舉例
import numpy as np import matplotlib.pyplot as plt data = np.arange(0,np.pi*2,0.01) fig1 = plt.figure(figsize = (8,2),dpi = 90) #確定畫布大小 ax1 = fig1.add_subplot(1,2,1) #繪制第1幅子圖 plt.title('#1') plt.xlabel('X') plt.ylabel('Y') plt.xlim(0,1) plt.ylim(0,1) x_ax = [] y_ax = [] for i in range(10): x_ax = np.append(x_ax, i/10) #設置刻度范圍,并調節(jié)步長 for i in range(10): y_ax = np.append(y_ax, i/10) plt.xticks(x_ax) plt.yticks(y_ax) plt.plot(data,data**2+data*2) plt.plot(data,data**3) plt.legend(['y = x^2+2x','y = x^3']) ax2 = fig1.add_subplot(1,2,2) plt.title('#2') plt.xlabel('X') plt.ylabel('Y') plt.xlim(0,np.pi*2) plt.ylim(-1,1) plt.xticks([0,np.pi*2]) plt.yticks([-1,1]) plt.plot(data,np.sin(data)) plt.plot(data,np.cos(data)) plt.legend(['sin','cos'],loc='upper right',frameon = False)#loc = "best" 可以將圖例調到最合適的位置 plt.savefig('C:/Users/luzhaoyou/Desktop/hhh.tif',dpi = 300,bbox_inches = 'tight') #只能在show前面 plt.show()
輸出結果:
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python數(shù)據(jù)分析之Excel和Text文件的讀寫操作方法
Python操作Excel分為兩個主要形式,讀寫和交互式操作,可以用不同的第三方工具,下面這篇文章主要給大家介紹了關于Python數(shù)據(jù)分析之Excel和Text文件的讀寫操作方法,需要的朋友可以參考下2024-08-08Python MySQL數(shù)據(jù)庫基本操作及項目示例詳解
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫后的一些基本操作,并以銀行管理系統(tǒng)項目為例,為大家具體介紹了一下部分功能的實現(xiàn),文中的示例代碼具有一定的學習價值,感興趣的可以了解一下2021-12-12python中json操作之json.loads、json.load、json.jumps及json.jump用法
最近在python里面用json讀取json文件,可是老是不成功,特此記錄一下,下面這篇文章主要給大家介紹了關于python中json操作之json.loads、json.load、json.jumps及json.jump用法的相關資料,需要的朋友可以參考下2022-08-08