首頁 > 軟體

Python matplotlib實現多重圖的繪製

2022-03-09 10:00:07
from matplotlib import pyplot as plt 
plt.style.use('fivethirtyeight')
fig=plt.figure()
ax=fig.add_subplot(1,1,1)
plt.text(0.5,0.5,'Figure',ha='center',va='center',size=20,alpha=0.5)
# 注:這裡的0.5代表x,y軸上面特定的點座標,ha和va則代表水平和垂直,ha和va可以確保資料絕對居中

plt.show()
xax=ax.xaxis
yax=ax.yaxis

Python中插入圖片

在相應的目錄下面放上檔案:

import numpy as np
from PIL import Image
plt.figure()
plt.xticks([]),plt.yticks([])
im=np.array(Image.open('M.jpg'))
plt.imshow(im)
plt.show()

繪製子圖

plt.figure()
plt.plot([0,1],[0,1])
plt.show()

繪製1*2的子圖

繪製1*2的子圖,類似於列向量:

# 1*2 子圖
plt.subplot(2,1,1)
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'subplot(2,1,1)',ha='center',va='center',size=20,alpha=0.5)

plt.subplot(2,1,2)
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'subplot(2,1,2)',ha='center',va='center',size=20,alpha=0.5)

plt.show()

plt.subplot(1,2,1)
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'subplot(2,1,1)',ha='center',va='center',size=20,alpha=0.5)

plt.subplot(1,2,2)
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'subplot(2,1,2)',ha='center',va='center',size=20,alpha=0.5)

plt.show()

繪製2*2的子圖

## 2*2子圖
plt.style.use('seaborn')
fig,axes=plt.subplots(nrows=2,ncols=2)
for i,ax in enumerate(axes.flat):
    print(i)
    print(ax)
    
plt.show()

plt.style.use('seaborn')
fig,axes=plt.subplots(nrows=2,ncols=2)
for i,ax in enumerate(axes.flat):
    ax.set(xticks=[],yticks=[])
    s='subplot(2,2)'+str(i)+')'
    ax.text(0.5,0.5,s,ha='center',va='center',size=20,alpha=0.5)
    
plt.show()

繪製不規則子圖

不規則的子圖繪製:

## 不規則的子圖繪製
import matplotlib.gridspec as gridspec
G=gridspec.GridSpec(3,3)
ax1=plt.subplot(G[0,:])
plt.show()

##  不規則的子圖繪製
import matplotlib.gridspec as gridspec
G=gridspec.GridSpec(3,3)

ax1=plt.subplot(G[0,:])
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'Axes 1',ha='center',va='center',size=20,alpha=0.5)

ax2=plt.subplot(G[1,:-1])
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'Axes 2',ha='center',va='center',size=20,alpha=0.5)

ax3=plt.subplot(G[1:,-1])
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'Axes 3',ha='center',va='center',size=20,alpha=0.5)

ax4=plt.subplot(G[-1,0]) # 表示倒數第一行和第一列
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'Axes 4',ha='center',va='center',size=20,alpha=0.5)

ax5=plt.subplot(G[-1,1]) # 表示倒數第一行和第二列
plt.xticks([]),plt.yticks([])
plt.text(0.5,0.5,'Axes 5',ha='center',va='center',size=20,alpha=0.5)

plt.show()

繪製圖中程式碼

fig,ax=plt.subplots() # 同時生成圖和座標系
ax.set(xticks=[],yticks=[])
s='Style 1nnfig,ax=plt.subplots()nax.plot()'
ax.text(0.5,0.5,s,ha='center',va='center',size=20,alpha=0.5)

fig=plt.figure()  # 先生成圖再生成座標系
ax=fig.add_subplot(1,1,1)
ax.set(xticks=[],yticks=[])
s='Style 2nnfig,ax=plt.subplots()nax.plot()'
ax.text(0.5,0.5,s,ha='center',va='center',size=20,alpha=0.5)

到此這篇關於Python matplotlib實現多重圖的繪製的文章就介紹到這了,更多相關Python matplotlib多重圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com