matplotlib 基于自定义比例的散点图标记颜色

n7taea2i  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(128)

我想基于自定义色标为散点着色,但出现此错误
ValueError:'c'参数有150个元素,这与大小为100的'x'和'y'不一致。
对于下面的示例,似乎t的长度需要与x和y的长度相同。但是,我希望用更宽的比例为点着色,例如-50到150,而不是0到100。
我该怎么做?谢谢

import numpy as np
import matplotlib.pyplot as plt

x = np.random.rand(100)
y = np.random.rand(100)
t = np.arange(100)
plt.scatter(x, y, c=t)
plt.show()
1l5u6lss

1l5u6lss1#

我不太确定你的目标是什么,所以我给你两个答案:希望有一个是你正在寻找的。

第一名:

只需创建一个包含100个元素的数组t,范围从-50到150:

import numpy as np
import matplotlib.pyplot as plt

x = np.random.rand(100)
y = np.random.rand(100)
t = np.linspace(-50, 150, len(x))
fig, ax = plt.subplots()
sc = ax.scatter(x, y, c=t)
fig.colorbar(sc, label="value")
plt.show()

秒:

创建一个包含100个元素的数组t,范围从0到100。要求matplotlib在-50到150的范围内可视化此颜色。

import numpy as np
import matplotlib.pyplot as plt

x = np.random.rand(100)
y = np.random.rand(100)
t = np.arange(100)
fig, ax = plt.subplots()
sc = ax.scatter(x, y, c=t, vmin=-50, vmax=150)
fig.colorbar(sc, label="value")
plt.show()

相关问题