2014-02-09 32 views
2

我已经从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命令而不是文本。我目前得到一个错误说:

类型错误:文本()至少需要3个参数(2给出)

回答

1

text()xy必须是标量(见文档字符串),而不是array样。所以,下面是一个解决方法:

x=[0.3,0.5] 
y=[0.3,0.5] 
z=['ok','no'] 
map(text,x,y,z) 

enter image description here

您得到异常的原因是你没有为text(x, y, s, fontdict=None, withdash=False, **kwargs)

0

可以是文本()不能识别的标签。试试这个

text(x, y, z) 
+0

提供所需的参数s这就给了我一个非常大的错误保存数字 - 我以前没有这个问题。 – HL123

+0

这个text()函数用于pylab模块,即pylab.text()。无论如何,你使用哪种文字功能... –

相关问题