/(\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 );
спасибо
Может быть, этот пример полезен.
В общем, элементы в легенде связаны с каким-то графическим объектом . Функция / метод 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')
В этом примере будет создан график следующего вида:
Взгляните на это:
http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.legend
Надеюсь, что это поможет. Если не просто попросите больше :)