Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距
Python matplotlib
设置多子图
设置多子图纵向间距
设置多子图横向间距
设置外边距
1. 方式一。设置一个 2*2 的相同尺寸子图,统一添加。
- 可选参数:sharex=True,sharey=False 共享X轴,不共享Y轴。
- 可选参数:facecolor 背景填充色。
- figsize 图片的大小。
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 子图,单独添加尺寸相同的子图。
add_subplot
先创建 fig 再单独添加子图。
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. 方式三。单独设置尺寸不太的子图。
subplot2grid
单独设置子图所占的行列比例。
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)
Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距Python matplotlib 设置多子图、子图间距、外边距 Python matplotlib设置多子图设置多子图纵向间距设置多子图横向间距设置多子图边距