我已经从csv文件中加载了x和y数据并将其绘制出来。我已经从csv文件中加载了每个点的名称,但是在将其作为标签附加到图上的每个点时遇到了问题。
data = np.genfromtxt('plotfile.csv',delimiter=',',dtype=str,skiprows=1)
data2 = np.genfromtxt('plotfile.csv',delimiter=',',dtype=float,skiprows=1)
x = data2[:,1]
y = data2[:,3]
z = data[:,2]
pylab.xlabel("Distance (km)")
pylab.ylabel("Precursor Length (s)")
scatter(x,y)
text(x,y,labels=z, pos=3)
我不确定是否应该使用annotate命令而不是文本。我目前收到错误说:
TypeError:text()至少需要3个参数(给定2个)
答案 0 :(得分:1)
在text()
中,x
,y
必须是标量(请参阅docstring),而不是array
。所以以下是一种解决方法:
x=[0.3,0.5]
y=[0.3,0.5]
z=['ok','no']
map(text,x,y,z)
您获得例外的原因是您没有为s
提供所需的参数text(x, y, s, fontdict=None, withdash=False, **kwargs)
答案 1 :(得分:0)
可能是text()无法识别标签。试试这个
text(x, y, z)