2016-01-18 2 views
-2

Следующий код содержит две строки. Вместо этого мне нужны точки без линий:График рассеяния с двумя наборами данных

plt.plot(y1, marker='o', color='b') 
plt.plot(y2, marker='o', color='r') 
plt.show() 

Что я должен изменить, чтобы получить правильный результат?

+2

Вы не просмотрели примеры? –

ответ

1

Вы можете использовать plt.scatter, чтобы получить участок разброса.

import matplotlib.pylot as plt 

plt.scatter(x, y1) 
plt.scatter(x, y2) 
plt.show() 

Вы бы установить x быть списком, содержащим соответствующие значения оси х для серии. Например, если ваши данные начинаются с x = 0 и поднимаются на один, вы можете использовать x = range(len(y1)) в качестве вашей серии осей x.

+0

Как получить эти значения x? –

+0

отредактирован, чтобы включить пример того, как установить серию 'x' – elsherbini

1

Я хотел бы сделать следующее:

plt.plot(y1, marker='o', linestyle=None, color='b') 
plt.plot(y2, marker='o', linestyle=None, color='r') 
plt.show() 

EDIT: linestyle=None вызывает ошибку. Вы можете использовать linestyle='' или непосредственно:

plt.plot(y1,'bo') 
plt.plot(y2,'ro') 
plt.show() 

должен работать.

+0

Он говорит: AttributeError: объект «NoneType» не имеет атрибута «startswith» –

+1

Я думаю, что правильный синтаксис «linestyle =» « – elsherbini

+0

@elsherbini извините, я только что редактировал сообщение, я не заметил вашего комментария, спасибо! –

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