脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python matplotlib实现多重图的绘制

Python matplotlib实现多重图的绘制

2022-10-27 11:30渴望成为寂寞胜者 Python

Matplotlib作为Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。本文将利用Matplotlib库绘制多重图,感兴趣的可以了解一下

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 matplotlib实现多重图的绘制

Python matplotlib实现多重图的绘制

 

Python中插入图片

在相应的目录下面放上文件:

Python matplotlib实现多重图的绘制

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()

Python matplotlib实现多重图的绘制

 

绘制子图

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

Python matplotlib实现多重图的绘制

绘制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()

Python matplotlib实现多重图的绘制

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()

Python matplotlib实现多重图的绘制

绘制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()

Python matplotlib实现多重图的绘制

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()

Python matplotlib实现多重图的绘制

绘制不规则子图

不规则的子图绘制:

## 不规则的子图绘制
import matplotlib.gridspec as gridspec
G=gridspec.GridSpec(3,3)
ax1=plt.subplot(G[0,:])
plt.show()

Python matplotlib实现多重图的绘制

##  不规则的子图绘制
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()

Python matplotlib实现多重图的绘制

绘制图中代码

fig,ax=plt.subplots() # 同时生成图和坐标系
ax.set(xticks=[],yticks=[])
s='Style 1\n\nfig,ax=plt.subplots()\nax.plot()'
ax.text(0.5,0.5,s,ha='center',va='center',size=20,alpha=0.5)

Python matplotlib实现多重图的绘制

fig=plt.figure()  # 先生成图再生成坐标系
ax=fig.add_subplot(1,1,1)
ax.set(xticks=[],yticks=[])
s='Style 2\n\nfig,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实现多重图的绘制的文章就介绍到这了,更多相关Python matplotlib多重图内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/wxfighting/article/details/123360666

延伸 · 阅读

精彩推荐