gpt4 book ai didi

matplotlib - 设置固定的颜色条值

转载 作者:行者123 更新时间:2023-12-04 10:36:45 25 4
gpt4 key购买 nike

我正在绘制一些按时间步长动画的节点数据,如下所示:

fig, ax = plt.subplots()
fig.tight_layout()
divider = make_axes_locatable(ax)
cax = divider.append_axes("right", size="5%", pad=0.05)

def animate(i):
ax.cla()
plt.cla()
ax.set_aspect('equal', 'box')
c = ax.tricontourf(triang, z[:, i], 10, cmap='plasma')
c.set_clim(np.min(z), np.max(z))
plt.colorbar(c, cax=cax)

anim = FuncAnimation(fig, animate, interval=100, frames=nt)

其中 z - 是 nnodes x number_of_timesteps节点值矩阵。但是正如您在下图中所看到的,颜色条范围和值似乎没有固定。我的意思是分配给特定颜色的值似乎是固定的,但颜色图例会随时间变化。我以为 c.set_clim(np.min(z), np.max(z))应该修复它,因为它在每个时间步从整个数据集中获取最小和最大节点值,但显然它没有修复颜色条。有办法解决吗?

enter image description here
enter image description here
enter image description here

最佳答案

您每次都会获得不同的颜色条,因为您没有指定轮廓的级别。尝试:
c = ax.tricontourf(triang, z[:, i], 10, cmap='plasma', vmin=-1, vmax=1, levels=np.arange(-1, 1.02, 0.1))

关于matplotlib - 设置固定的颜色条值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60142126/

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