2014-02-09 3 views
2

Я загрузил данные x и y из файла csv и построил его. Я загрузил имя каждой точки из файла 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: Текст() занимает не менее 3-х аргументов (2 приведены)

ответ

1

В text(), x, y должны быть скалярными (см строка документации), не array -как. Таким образом, следующий обходной путь:

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

enter image description here

Причина вы получаете исключение в том, что вы не предоставили необходимый аргумент s для text(x, y, s, fontdict=None, withdash=False, **kwargs)

0

Может быть текст() не распознает метки. Попробуйте

text(x, y, z) 
+0

Это то дает мне очень большую ошибку о сохраняя фигуру. Раньше у меня не было этой проблемы. – HL123

+0

Эта функция text() предназначена для модуля pylab i.e. pylab.text(). Какую текстовую функцию вы используете в любом случае ... –

Смежные вопросы