gpt4 book ai didi

python - Matplotlib 散点图/颜色作为第三个变量/对称对数色标的函数

转载 作者:太空宇宙 更新时间:2023-11-04 03:54:53 25 4
gpt4 key购买 nike

我有一个散点图,其中的点根据第三个变量着色。我想按照 api 中的描述为我的颜色图使用对称对数刻度:SymLogNorm

不幸的是,我收到以下错误:

TypeError: array cannot be safely cast to required type

这是一个小例子。我正在使用 matplotlib 1.3.0。

# loading modules
import matplotlib as mpl
import matplotlib.pyplot as plt

# defining variables
x=[0,1,2,3]
y=[0,1,2,3]
c=[-1000,-100,100,1000]

# making scatterplot

plt.scatter(x, y, c=c, norm=mpl.colors.SymLogNorm(linthresh=10))

如果没有对称对数颜色图,绘图工作正常。

plt.scatter(x, y, c=c)

see here

非常感谢您的帮助。

最佳答案

SymLogNorm 的文档不是特别清楚,因此我不确定我在这个答案中所说的一切都是正确的。似乎应该使用 vminvmax 参数来确定您考虑的数据范围,例如:

# loading modules
import matplotlib as mpl
import matplotlib.pyplot as plt

# defining variables
x=[0,1,2,3]
y=[0,1,2,3]
c=[-1000,-100,100,1000]

# making scatterplot
plt.scatter(x, y, c=c, s=100, norm=mpl.colors.SymLogNorm(linthresh=10, vmin=-1e3, vmax=1e3))
plt.colorbar(ticks=c)

enter image description here

然后颜色条刻度将不知道它是对数缩放的,但我认为这就是您想要的效果。

关于python - Matplotlib 散点图/颜色作为第三个变量/对称对数色标的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19243853/

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