利用matplotlib實現(xiàn)兩張子圖分別畫函數(shù)圖
matplotlib實現(xiàn)兩張子圖分別畫函數(shù)圖
首先說明一下為什么要用兩張子圖同時畫圖,在科研論文寫作中,通常會采用組圖的形式來展現(xiàn)幾張需要對比的圖,如果單獨(dú)畫圖的話需要將每張圖片通過PS等軟件進(jìn)行拼接。
而同時在子圖上繪圖就會大大節(jié)省時間和精力。
繪制兩張子圖的邏輯是,先創(chuàng)建整張畫布,然后分布畫出兩張子圖。
整體結(jié)構(gòu)如下
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()
圖形基礎(chǔ)設(shè)置
plt.title('#1') #設(shè)置圖片標(biāo)題
plt.xlabel('X') #設(shè)置X軸標(biāo)題
plt.ylabel('Y') #設(shè)置Y軸標(biāo)題
plt.xlim(0,1) #設(shè)置X軸刻度的取值范圍
plt.ylim(0,1) #設(shè)置Y軸刻度的取值范圍數(shù)軸刻度設(shè)置
x_ax = [] #存儲X軸刻度值
y_ax = [] #存儲Y軸刻度值
for i in range(10):
x_ax = np.append(x_ax, i/10) #設(shè)置刻度范圍,并調(diào)節(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
圖例的設(shè)置
plt.legend(['y = x^2+2x','y = x^3']) #loc = "best" 可以將圖例調(diào)到最合適的位置
完整代碼舉例
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) #設(shè)置刻度范圍,并調(diào)節(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" 可以將圖例調(diào)到最合適的位置
plt.savefig('C:/Users/luzhaoyou/Desktop/hhh.tif',dpi = 300,bbox_inches = 'tight') #只能在show前面
plt.show()輸出結(jié)果:

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Anaconda2下實現(xiàn)Python2.7和Python3.5的共存方法
今天小編就為大家分享一篇Anaconda2下實現(xiàn)Python2.7和Python3.5的共存方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python數(shù)組中的?k-diff?數(shù)對例題解析
這篇文章主要介紹了python數(shù)組中的?k-diff?數(shù)對例題解析,文章根據(jù)題目內(nèi)容對其進(jìn)行分析以此展開主題內(nèi)容,感興趣的小伙伴可以參考一下下面文章詳情2022-06-06
每個 Python 開發(fā)者都應(yīng)該知道的7種好用工具(效率翻倍)
Python 從一種小的開源語言開始,到現(xiàn)在,它已經(jīng)成為開發(fā)者很受歡迎的編程語言之一。這篇文章主要介紹了每個 Python 開發(fā)者都應(yīng)該知道的7種好用工具(效率翻倍),需要的朋友可以參考下2021-03-03
python smtplib模塊自動收發(fā)郵件功能(二)
這篇文章主要為大家詳細(xì)介紹了python smtplib模塊自動收發(fā)郵件功能的第二篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05
Python?pandas庫中isnull函數(shù)使用方法
這篇文章主要介紹了Python?pandas庫中isnull函數(shù)使用方法,python的pandas庫中有?個?分便利的isnull()函數(shù),它可以?來判斷缺失值,具體介紹需要的小伙伴可以參考一下2022-06-06
淺談numpy中np.array()與np.asarray的區(qū)別以及.tolist
這篇文章主要介紹了淺談numpy中np.array()與np.asarray的區(qū)別以及.tolist,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
詳解如何基于Pyecharts繪制常見的直角坐標(biāo)系圖表
pyecharts是基于前端可視化框架echarts的Python可視化庫,下面這篇文章主要給大家介紹了關(guān)于如何基于Pyecharts繪制常見的直角坐標(biāo)系圖表的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04
python使用property完成數(shù)據(jù)隱藏封裝與校驗
這篇文章主要為大家詳細(xì)介紹了python使用property完成數(shù)據(jù)隱藏封裝與校驗,實現(xiàn)安全修改,文中的示例代碼講解詳細(xì),希望對大家有所幫助2024-11-11

