gpt4 book ai didi

python - 每个子图中的 matplotlib 颜色条

转载 作者:IT老高 更新时间:2023-10-28 22:25:26 24 4
gpt4 key购买 nike

我想为 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 = ...”,但是颜色条都出现在右下角的图上,而不是每个单独的图上!

最佳答案

这可以通过实用程序 make_axes_locatable 轻松解决。我提供了一个最小的例子来说明它是如何工作的并且应该很容易适应:

bar to each image

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable

import numpy as np

m1 = np.random.rand(3, 3)
m2 = np.arange(0, 3*3, 1).reshape((3, 3))

fig = plt.figure(figsize=(16, 12))
ax1 = fig.add_subplot(121)
im1 = ax1.imshow(m1, interpolation='None')

divider = make_axes_locatable(ax1)
cax = divider.append_axes('right', size='5%', pad=0.05)
fig.colorbar(im1, cax=cax, orientation='vertical')

ax2 = fig.add_subplot(122)
im2 = ax2.imshow(m2, interpolation='None')

divider = make_axes_locatable(ax2)
cax = divider.append_axes('right', size='5%', pad=0.05)
fig.colorbar(im2, cax=cax, orientation='vertical');

关于python - 每个子图中的 matplotlib 颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23876588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com