gpt4 book ai didi

python - Matplotlib图例帮助

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

我正在编写一个脚本来绘制多个点。我也试图从这些点创造一个传奇。总结一下我的脚本,我正在绘制几种“类型”的点(称它们为“a”、“b”、“c”)。这些点有不同的颜色和形状:'a'-'go' 'b'-'rh' 'c'-'k^'。

这是我脚本相关部分的简化版本:

lbl = #the type of point x,y is (a,b,c)
for x,y in coords:
if lbl in LABELS:
plot(x, y, color)
else:
LABELS.add(lbl)
plot(x, y, color, label=lbl)
legend()

我在这里所做的只是绘制一堆点并为它们分配标签。但是,我发现如果我为每个点添加一个标签,那么图例将包含每个点的条目。我只想要每种类型的点(a、b、c)一个条目。因此,我将脚本更改为如上所示。有一个更好的方法吗?如果我有一百万个不同类型的点,那么数据结构 LABELS(一组)将占用大量空间。

最佳答案

根据点的类型对xy进行分组。一次调用 plot 即可绘制所有相同类型的点:

import pylab
import numpy as np

lbl=np.array(('a','b','c','c','b','a','b','c','a','c'))
x=np.random.random(10)
y=np.random.random(10)
for t,color in zip(('a','b','c'),('go','rh','k^')):
pylab.plot(x[lbl==t],y[lbl==t],color,label=t)
pylab.legend()
pylab.show()

alt text

关于python - Matplotlib图例帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302586/

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