gpt4 book ai didi

python - matplotlib 散点图中的对数颜色条

转载 作者:行者123 更新时间:2023-11-28 19:17:10 25 4
gpt4 key购买 nike

我想让散点图上的点的颜色对应于空隙率的值,但在对数尺度上以放大差异。我这样做了,但是现在当我执行 plt.colorbar() 时,它会显示空隙率的日志,而我真的需要实际的空隙率。如何使用属于 [0.00001,1] 的空隙部分的适当标签在颜色条上制作对数刻度?

这是我现在的绘图的图像,但是空隙率颜色条没有适当标记以对应于真实的空隙率,而不是它的对数。

current plot

fig = plt.figure()
plt.scatter(x,y,edgecolors='none',s=marker_size,c=np.log(void_fraction))
plt.colorbar()
plt.title('Colorbar: void fraction')

感谢您的帮助。

最佳答案

现在有一部分文档描述了 how color mapping and normalization works

matplotlib 进行颜色映射的方式分为两个步骤,首先是一个Normalize 函数(由 matplotlib.colors.Normalize 的子类包装) 将您提交的数据映射到 [0, 1]。第二步映射 [0,1] -> RGBA 空间中的值。

您只需要使用 LogNorm 规范化类,通过 norm kwarg 传入。

plt.scatter(x,y,edgecolors='none',s=marker_size,c=void_fraction,
norm=matplotlib.colors.LogNorm())

当您想缩放/调整数据以进行绘图时,最好让 matplotlib 进行转换,而不是您自己进行。

  • 规范化 doc
  • LogNorm doc
  • matplotlib.color doc

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

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