python - Matplotlib 颜色栏 - 更改限制的行为
问题描述
我尝试使用 matplotlib 限制颜色条的范围。旧的行为是,可以使用plot 函数的关键字vmin
来缩放颜色条。vmax
这影响了颜色本身和颜色条的标签。
现在的行为似乎是,只有颜色被缩放,而标签仍然是自动的。
import numpy
import numpy.random
import matplotlib.pyplot as plt
# create somehing to plot, maximum value should be much large than 10
z = numpy.random.rand(20, 20) * 57.8412
t = numpy.linspace(0, 1, 20)
x, y = numpy.meshgrid(t, t)
# this is supposed to be the maximum value of the plot
max_value = 25 # or 100
fig = plt.figure()
axis = fig.add_subplot(1, 1, 1)
plot = axis.contourf(x, y, z, 100, cmap=None, vmin=0, vmax=max_value)
cbar = plt.colorbar(plot)
plt.show(block=False)
两张图片的颜色条标签保持相同(最多 58 个),即使第一张图片的最大值应为 25,第二张图片的最大值应为 100。
如何恢复保持行为并缩放彩条的标签。
解决方案
我不确定我是否理解预期的结果,但我认为您会想要明确设置级别。
import numpy as np
import matplotlib.pyplot as plt
# create somehing to plot, maximum value should be much large than 10
z = np.random.rand(20, 20) * 57.8412
t = np.linspace(0, 1, 20)
x, y = np.meshgrid(t, t)
# this is supposed to be the maximum value of the plot
max_value = 25 # or 100
fig, ax = plt.subplots()
ax.set_title(f"max_value={max_value}")
cntr = ax.contourf(x, y, z, levels=np.arange(max_value+1), vmin=0, vmax=max_value)
cbar = fig.colorbar(cntr)
plt.show()
推荐阅读
- node.js - 在 Heroku Node.js 应用上上传图片时出错
- c# - 在 xtragrid 中双击一个单元格,该值应显示在lookupedit中
- vuex - 在“通用”模式下使用 NuxtJs 管理 Vuex 状态
- c# - 将所有组件放在一个类下,使它们成为静态并从所有其他脚本中引用它们是否可行?(在 Unity 中使用 C#)
- angular - ngx-select-dropdown 示例值未绑定
- c++ - C++中递归函数的功能
- javascript - 提醒用户少在浏览器窗口中导航
- sql - 在 SQL Server 中插入之前验证输入参数
- python - 正确的精灵不会加载到空格键上
- docker - Kubernetes 集群未将外部 IP 公开为