gc5*_*gc5 11 python plot matplotlib colorbar subplot
我试图在不同的子图中分割我的图.我想要实现的是在不同的子图中为子图放置一个颜色条.现在我正在使用:
# first graph
axes = plt.subplot2grid((4, 2), (0, 0), rowspan=3)
pc = plt.pcolor(df1, cmap='jet')
# second graph
axes = plt.subplot2grid((4, 2), (3, 0))
plt.pcolor(df2, cmap='Greys')
# colorbar
plt.subplot2grid((4, 2), (0, 1), rowspan=3)
plt.colorbar(pc)
Run Code Online (Sandbox Code Playgroud)
但结果如下(注意留在颜色条上的不需要的空图):

如果没有左图,我该怎么办才能打印彩条?
谢谢
tbe*_*lay 17
colorbar()接受一个cax关键字参数,允许您指定axes将在其上绘制颜色条的对象.
在您的情况下,您可以将colorbar调用更改为以下内容:
# colorbar
axes = plt.subplot2grid((4, 2), (0, 1), rowspan=3)
plt.colorbar(pc, cax=axes)
Run Code Online (Sandbox Code Playgroud)
这将占用整个空间subplot2grid; 你可以通过让主轴占据比色条轴更多的列,或通过gridspec明确设置来调整它更合理.例如,使用以下内容可能更容易调整您的数字:
from matplotlib import gridspec
gs = gridspec.GridSpec(2, 2, height_ratios=(3, 1), width_ratios=(9, 1))
# first graph
axes = plt.subplot(gs[0,0])
pc = plt.pcolor(df1, cmap='jet')
# second graph
axes = plt.subplot(gs[1,0])
plt.pcolor(df2, cmap='Greys')
# colorbar
axes = plt.subplot(gs[0,1])
plt.colorbar(pc, cax=axes)
Run Code Online (Sandbox Code Playgroud)
然后你可以改变height_ratios,并width_ratios根据自己的喜好.
| 归档时间: |
|
| 查看次数: |
17819 次 |
| 最近记录: |