gpt4 book ai didi

python - 如何根据第三列值用颜色绘制二维数据点

转载 作者:行者123 更新时间:2023-11-30 22:22:03 25 4
gpt4 key购买 nike

假设我有一个包含三列的数组:

>>>print(arr)
array(
[[1 2 -1]
[1 3 1]
[3 2 -1]
[5 2 -1]]
)

假设我想把它变成散点图:

plt.plot(arr[:,0], arr[:,1], 'xr')

工作正常。但是,所有分散的点看起来都像一个红色“x”。假设如果第三列值为 -1,我希望有一个红色“x”,如果该值为 1,我希望有一个蓝色“o”。我该怎么做?

这可以通过plt.plot()实现吗?

最佳答案

如果要更改颜色标记,则需要绘制多个散点图,每个标记至少绘制一个。

import matplotlib.pyplot as plt
import numpy as np

a = np.array([[1, 2, -1],
[1, 3, 1],
[3, 2, -1],
[5, 2, -1]])
mapping= {-1: ("red", "x"), 1: ("blue", "o")}

for c in np.unique(a[:,2]):
d = a[a[:,2] == c]
plt.scatter(d[:,0], d[:,1], c=mapping[c][0], marker=mapping[c][1])
#plt.plot(d[:,0], d[:,1], color=mapping[c][0], marker=mapping[c][1])

plt.show()

enter image description here

使用plot同样是可能的(请参阅代码中的注释行)。

关于python - 如何根据第三列值用颜色绘制二维数据点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48445892/

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