2015-08-24 1 views
1

У меня возникает проблема, когда некоторые построенные точки соединяются обратно к первой точке графика после того, как они были построены. Мне нужно найти способ закрыть или очистить точки следа после того, как они будут построены в matplotlib, а также как сделать каждую строку собственным цветом.Корректировка траекторий траектории в Matplotlib

Выборочные данные из текстового файла:

CMCI,36,16.9,-68.1 
AVNI,0,15.7,-60.1 
AVNI,12,16.1,-62.8 
AVNI,24,16.5,-65.5 
AVNI,36,17,-68.5 
AVNI,48,17.6,-71.5 
BAMD,12,16.3,-62.1 
BAMM,168,23.1,-87.9 
BAMS,84,20.3,-79.5 
BAMS,96,20.6,-81.6 
BAMS,108,21.1,-83.9 
BAMS,120,21.5,-85.9 
BAMS,132,22,-87.9 
CLIP,12,16,-61.6 
CLIP,24,16.4,-63.4 
CLIP,36,17.1,-65.1 
CLIP,48,18,-66.9 
CLIP,72,20.2,-70 

Последние две колонки в текстовом файле являются широта/долгота.

Код:

data = np.genfromtxt("/home/.../.../.../all", delimiter=',', skip_header=True) 

model = data[:,0] 
fhr = data[:,1] 
lats = data[:,2] 
lons = data[:,3] 

x,y = m(lons,lats) 

plt.plot(x,y,'ro-') 
plt.show() 
+0

все треки в одном файле? Если да, то что говорит вам, какая координация должна быть в какой строке? – tom

+0

Да, все треки находятся в одном текстовом файле в том же формате. И я предполагаю, что plt.plot выполняет эту задачу? Еще новичок с Python ... –

+0

Ну, вот почему они все одного цвета и соединяются. Вам нужно найти способ разделить их на отдельные дорожки, тогда у вас будут разные цвета и нет соединительных линий от конца одного трека до начала следующего. Все ли они стандартной длины? или столбцы 'model' или' fhr' помогут вам разделить их? – tom

ответ

3

Вы можете начертить каждую дорожку отдельно, используя свой model столбец индекса x и y. Вам нужно будет развернуть список models, чтобы включить все возможные модели в ваш файл данных.

data = np.genfromtxt("/home/.../.../.../all", delimiter=',', skip_header=True) 

model = data[:,0] 
fhr = data[:,1] 
lats = data[:,2] 
lons = data[:,3] 

models = ['ANVI', 'BAMS', 'CLIP'] 
cols = ['r','g','b'] 

for i in range(len(models)): 
    plt.plot(x[model==models[i]],y[model==models[i]], 
      marker='o',linestyle='-',color=cols[i]) 
plt.show() 
+0

Привет, Том, спасибо за код! К сожалению, только первая точка одной из моделей - это заговор ... Изображение: http://i.imgur.com/bza7wd3.png. Нет построенных отдельных линий ... –