Учитывая следующее:Matplotlib земли пунктирной Круги (с использованием plt.plot вместо plt.scatter)
import matplotlib.pyplot as plt
import numpy as np
#http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter
x = np.random.randn(60)
y = np.random.randn(60)
x2 = np.random.randn(60)
y2 = np.random.randn(60)
plt.plot(x, y, marker='o', markeredgecolor='r', linestyle='none', markerfacecolor='none')
plt.plot(x2, y2, marker='o', markeredgecolor='r', linestyle='none', markerfacecolor='none')
plt.show()
Я хотел бы, x2 и y2 быть нанесена в виде пунктирной (или даже пунктирные) кругов. Я избегаю использования plt.scatter, потому что остальная часть моего скрипта работает с plt.plot намного лучше. Вот что я ищу:
Заранее благодарен!
FYI: Вот фактический график, который я создал. Я просто использовал шестиугольники, чтобы теперь обозначать разные данные (будущие данные).
Обычай легенда и построение более групп строк в кадре данных панд добавить уровни сложности, что я не мог преодолеть с plt.scatter.
Для этого вам необходимо передать экземпляр ['Path'] (http://matplotlib.org/api/path_api.html#path) в качестве маркера. Я не нашел способ сделать пунктирный круг. Возможно, это невозможно, 'scatter' использует дополнительные свойства' PathCollection' для краев маркера. Я бы сказал, что если вы хотите построить так много кругов, что производительность является проблемой, тогда пунктирные края - это не лучший способ рассказать о некоторых из них. Цвет, размеры или формы будут работать намного лучше. – Goyo
Можете ли вы прокомментировать, почему использование разброса - такая большая проблема? – ImportanceOfBeingErnest
Несомненно. Я повторяю через список для построения точек из разных строк фрейма данных. Данные каждой строки окрашены в соответствии со списком цветов (хотя это скоро изменится на цветовую карту). Затем я создаю пользовательскую легенду. Есть много зависимостей, и я не уверен, что они будут работать с plt.scatter. См. Обновленный вопрос для моего примера. –