我想在一个2x2的图中,给每个子图添加一个单独的色条。
fig , ( (ax1,ax2) , (ax3,ax4)) = plt.subplots(2, 2,sharex = True,sharey=True)
z1_plot = ax1.scatter(x,y,c = z1,vmin=0.0,vmax=0.4)
plt.colorbar(z1_plot,cax=ax1)
z2_plot = ax2.scatter(x,y,c = z2,vmin=0.0,vmax=40)
plt.colorbar(z1_plot,cax=ax2)
z3_plot = ax3.scatter(x,y,c = z3,vmin=0.0,vmax=894)
plt.colorbar(z1_plot,cax=ax3)
z4_plot = ax4.scatter(x,y,c = z4,vmin=0.0,vmax=234324)
plt.colorbar(z1_plot,cax=ax4)
plt.show()
我以为这就是正确的做法,但结果绘制出来的图像很混乱:整个背景都是灰色的,并且忽略了我设置的set_xlim、set_ylim命令(这里为简单起见未显示),而且没有任何颜色条。这是正确的做法吗?
我还试过去掉"cax = ...",但那样的话,色条就全部放在右下角的图中,而不是分别放在每个图中!
plt.colorbar(z1_plot,cax=ax2)
应该改为plt.colorbar(z2_plot,cax=ax2)
,3 和 4 也是如此吗?对于子图和色条,建议查看 AxesGrid。 - oschoudhury