Легенда Matplotlib для Рассеяния с собственными цветами

/(\d+)(?::(\d\d))(?::(\d\d))?\s*([pP]?)/ 

// added test for p or P
// added seconds

d.setHours( parseInt(time[1]) + (time[4] ? 12 : 0) ); // care with new indexes
d.setMinutes( parseInt(time[2]) || 0 );
d.setSeconds( parseInt(time[3]) || 0 );

спасибо

10
задан Community 23 May 2017 в 12:30
поделиться

2 ответа

Может быть, этот пример полезен.

В общем, элементы в легенде связаны с каким-то графическим объектом . Функция / метод scatter обрабатывает все круги как один объект, см.

print type(ax.scatter(...))

Таким образом, решение состоит в создании нескольких объектов. Следовательно, вызов scatter несколько раз.

К сожалению, в новой версии matplotlib, похоже, не используется прямоугольник в легенде. Таким образом, легенда будет содержать очень большие круги, так как вы увеличили размер объектов диаграммы рассеяния.

Легенда работает как аргумент ключевого слова markerscale для управления размером маркеров легенды, но, похоже,

Обновление:

В Руководстве по легендам рекомендуется использовать Proxy Artist в подобных случаях. API цвета объясняет допустимые значения fc .

p1 = Rectangle((0, 0), 1, 1, fc="b")
p2 = Rectangle((0, 0), 1, 1, fc="g")
p3 = Rectangle((0, 0), 1, 1, fc="r")
legend((p1, p2, p3), ('proj1','proj2','proj3'))

Чтобы получить цвета, ранее использовавшиеся в графике, используйте приведенный выше пример, например:

pl1, = plot(x1, y1, '.', alpha=0.1, label='plot1')
pl2, = plot(x2, y2, '.', alpha=0.1, label='plot2')
p1 = Rectangle((0, 0), 1, 1, fc=pl1.get_color())
p2 = Rectangle((0, 0), 1, 1, fc=pl2.get_color())
legend((p1, p2), (pl1.get_label(), pl2.get_label()), loc='best')

В этом примере будет создан график следующего вида:

Matplotlib with custom legend

9
ответ дан 4 December 2019 в 03:16
поделиться

Взгляните на это:

http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.legend

Надеюсь, что это поможет. Если не просто попросите больше :)

-3
ответ дан 4 December 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: