Python matplotlib
设置多子图
设置多子图纵向间距
设置多子图横向间距
设置多子图边距
1. 方式一。设置一个 2*2 的相同尺寸子图,统一添加。
import matplotlib.pyplot as plt
fig,axes = plt.subplots(2,2,figsize=(6,6),dpi=100,facecolor="w",sharex=True,sharey=False)
# 遍历所有子图
for i,ax in enumerate(axes.flatten()):
ax.text(0.5, 0.5, i, fontdict={'fontsize':20,})
# 对单一子图进行操作
axes[0,0].set_title('0,0 title')
2. 方式二。设置一个 2*2 子图,单独添加尺寸相同的子图。
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(6,6),dpi=100,facecolor="w")
ax1 = fig.add_subplot(2,2,1)
ax4 = fig.add_subplot(2,2,4)
ax1.text(0.3, 0.5, '2,2,1', fontdict={'fontsize':20,})
ax4.set_title('2,2,4 title')
3. 方式三。单独设置尺寸不太的子图。
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(8,8),dpi=100,facecolor="w")
# 3*3 的网格;(0,0)位置开始,跨度为 1 行 1 列
ax1 = plt.subplot2grid((3,3),(0,0),colspan=1,rowspan=1)
# 3*3 的网格;(1,0)位置开始,跨度为 1 行 2 列
ax2 = plt.subplot2grid((3,3),(1,0),colspan=2,rowspan=1)
# 3*3 的网格;(1,2)位置开始,跨度为 2 行 1 列
ax3 = plt.subplot2grid((3,3),(1,2),colspan=1,rowspan=2)
ax1.text(0.1, 0.5, '(0,0) rows 1, cols 1', fontdict={'fontsize':12,})
ax2.text(0.3, 0.5, '(1,0) rows 1, cols 2', fontdict={'fontsize':12,})
ax3.text(0.1, 0.5, '(1,2) rows 2, cols 1', fontdict={'fontsize':12,})
4. 子图间距调整、子图边距调整
subplots_adjust
调整子图间距。- 参数
left=0,right=1,top=1,bottom=0,
分别控制上下左右
的位置。 - 参数
wspace=0.4,hspace=0.1
分别控制横向和纵向的子图间距
import matplotlib.pyplot as plt
fig,axes = plt.subplots(2,2,figsize=(8,6),dpi=100,facecolor="#00CC67")
# 遍历所有子图
for i,ax in enumerate(axes.flatten()):
ax.text(0.5, 0.5, i, fontdict={'fontsize':20,})
# left 控制左边位置;wspace,hspace 控制子图间距
fig.subplots_adjust(left=0,right=1,top=1,bottom=0,
wspace=0.4,hspace=0.1)
原文地址:https://blog.csdn.net/qq_35240689/article/details/131361568
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_24762.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。