Невозможно удалить соединительные линии из диаграммы рассеяния с помощью plt.plot () - PullRequest
1 голос
/ 01 ноября 2019

Я пытаюсь создать диаграмму рассеяния БЕЗ линий, соединяющих каждый маркер, используя matplotlib.pyplot.plot (). Я использую Python 2.

Я попытался установить, указав в функции plt.plot (), что linestyle = 'None'. Я также пробовал linestyle = '' (это не влияет на строку) и linestyle = None (это вызывает ошибку). Я также попытался установить ширину линии равной 0, и я попытался изменить стиль линии на другой тип тире. Ни один не работал .. код работал без сообщения об ошибке и соединительные линии остались без изменений.

#!/usr/bin/env python

import matplotlib.pyplot as plt
import numpy as np
x=[0,1,2,3]
y=[2,4,6,8]
yError=[0.1,0.2,0.2,0.3]
fig = plt.figure(facecolor="w",figsize=(6.5,4.0))   
ax = fig.add_subplot(111)
ax.plot(x, y, color='blue',marker='o',label='generic', linestyle='None')
ax.errorbar(x,y, yerr=yError, color='blue',label='_nolegend_')
plt.show()

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

1 Ответ

1 голос
/ 01 ноября 2019

Линии построены вашей errorplot.
Добавьте туда также linestyle='None' kwarg, тогда они исчезнут.

Вы даже можете пропустить полную команду plot, когда такжедобавление определения маркера к errorplot.
Тогда вам нужно только адаптировать и метку, конечно.

Самая короткая и удобочитаемая форма imo скорее будет использовать формат kwarg для указания цвета, маркера и отсутствия строки за один короткий срок:

ax.errorbar(x,y, fmt='bo', yerr=yError, label='generic')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...