gpt4 book ai didi

python - 使用 matplotlib 3.3+ 更改颜色条限制以更改比例

转载 作者:行者123 更新时间:2023-12-05 09:30:33 30 4
gpt4 key购买 nike

底部的代码完全符合我的要求,但仅限于至少低于 3.3.4 的 matplotlib 版本。对于此版本 3.3.4,我收到以下错误消息:

AttributeError: 'ColorBar' object has no attribute 'set_clim'

因此,我试图找出在今天的版本中如何做到这一点,但失败了。那么,如何在较新版本中更改图像的色阶和 Colobar?

工作代码(在 2.2.2 中测试):

import matplotlib.pyplot as plt
import numpy as np
import time

x = np.linspace(0, 10, 100)
y = np.cos(x)
y = y.reshape(10,10)

plt.ion()

figure = plt.figure()
line1 = plt.imshow(y)
cbar = plt.colorbar(line1)

for p in range(100):
updated_y = np.random.randint(0,10)*np.cos(x-0.05*p).reshape(10,10)

line1.set_data(updated_y)

cbar.set_clim(vmin=np.min(updated_y),vmax=np.max(updated_y)) #this line creates the error
cbar.draw_all()

figure.canvas.draw()
figure.canvas.flush_events()
time.sleep(1)

最佳答案

我通过@Trenton McKinneys 在以下帖子中提供的链接找到了解决方案:Question by Merk .

解决的代码:

import matplotlib.pyplot as plt
import numpy as np
import time

x = np.linspace(0, 10, 100)
y = np.cos(x)
y = y.reshape(10,10)

plt.ion()

figure = plt.figure()
line1 = plt.imshow(y)
cbar = plt.colorbar(line1)

for p in range(100):
updated_y = np.random.randint(0,10)*np.cos(x-0.05*p).reshape(10,10)

line1.set_data(updated_y)

#cbar.set_clim(vmin=np.min(updated_y),vmax=np.max(updated_y)) #this line creates the error
cbar.mappable.set_clim(vmin=np.min(updated_y),vmax=np.max(updated_y)) #this works
cbar.draw_all()

figure.canvas.draw()
figure.canvas.flush_events()
time.sleep(1)

(一)提供图片: enter image description here

关于python - 使用 matplotlib 3.3+ 更改颜色条限制以更改比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69435068/

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