2015-03-25 3 views
-1

Мой набор данных выглядит следующим образом:Как построить кусочно непрерывные точки в Matplotlib

G R Y 
1 1 0 
1 2 1 
1 3 2 
1 4 4 
1 5 2 
2 1 1 
2 2 2 
2 3 3 
2 4 2 
3 1 0 
3 2 1 
3 3 2 
3 4 2 
3 5 3 

Я хочу знать, как писать правильный код Matplotlib для построения точек следующим образом:

enter image description here

+2

Можете ли вы показать нам, что вы пробовали до сих пор? – plonser

+0

это ваши данные csv/tsv? –

ответ

1

Вы можете просто разделить свои данные в соответствии с тремя разделами, которые у вас есть, нарисуйте каждую группу отдельно, а затем прикрепите графики вместе:

fig, axes = plt.subplots(1, 3, sharey=True) 
Y = [0, 1, 2, 4, 2, 1, 2, 3, 2, 0, 1, 2, 2, 3] 
Y0 = Y[0:6] 
Y1 = Y[5:10] 
Y2 = Y[9:15] 
axes[0].plot(Y0) 
axes[1].plot(Y1) 
axes[2].plot(Y2) 
plt.ylim([0, 5]) 
subplots_adjust(wspace=0) 

Это поможет вам довольно близко к тому, что вам нужно (хотя я признаю, некоторые из й-осей может использовать немного дополнительное форматирование):

enter image description here

Если бы я тебя, я бы ввести что строка за строкой, нажав plt.draw() после каждой строки кода matplotlib, чтобы узнать, что именно происходит.

+0

Спасибо, это близко к фигуре, которую я хочу. –

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