gpt4 book ai didi

python - 根据第三个变量改变散点图中的标记样式

转载 作者:太空狗 更新时间:2023-10-29 17:58:00 25 4
gpt4 key购买 nike

我正在处理一个多列字典。我想绘制两列,然后根据第三列和第四列更改标记的颜色和样式。

我很难改变 pylab 散点图中的标记样式。遗憾的是,我的方法适用于颜色,但不适用于标记样式。

x=[1,2,3,4,5,6]
y=[1,3,4,5,6,7]
m=['k','l','l','k','j','l']

for i in xrange(len(m)):
m[i]=m[i].replace('j','o')
m[i]=m[i].replace('k','x')
m[i]=m[i].replace('l','+')

plt.scatter(x,y,marker=m)
plt.show()

最佳答案

问题是 marker 只能是单个值,而不是标记列表,如 color 参数。

您可以按标记值进行分组,这样您就有了具有相同标记的 x 和 y 列表并绘制它们:

xs = [[1, 2, 3], [4, 5, 6]]
ys = [[1, 2, 3], [4, 5, 6]]
m = ['o', 'x']
for i in range(len(xs)):
plt.scatter(xs[i], ys[i], marker=m[i])
plt.show()

或者您可以绘制每个点(我不推荐这样做):

x=[1,2,3,4,5,6]
y=[1,3,4,5,6,7]
m=['k','l','l','k','j','l']

mapping = {'j' : 'o', 'k': 'x', 'l': '+'}

for i in range(len(x)):
plt.scatter(x[i], y[i], marker=mapping[m[i]])
plt.show()

关于python - 根据第三个变量改变散点图中的标记样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18800944/

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