Установка разных цветов для маркеров и линий в matplotlib и показывать их в легенде - PullRequest
1 голос
/ 18 марта 2020

Я хотел бы создать сюжет, состоящий из линий и маркеров, но используя разные цвета для обоих. Мой подход состоял в том, чтобы использовать два перекрывающихся графика:

#!/usr/bin/env python3
import matplotlib.pyplot as plt
fig,ax1 = plt.subplots()
x=[0,1,2,3]
y=[10,20,40,80]
ax1.plot(x, y,color='#FF0000', alpha=0.5, linewidth=2.2,label='Example line',zorder=9)
ax1.scatter(x, y ,marker='o',s=80,color='black',alpha=1,label='Example marker',zorder=10) 

ax1.set_ylim([0,150])
ax1.set_xlim([0,5])
ax1.legend(loc='upper right')
plt.show()
plt.close()

Вывод:

Figure output

Проблема здесь в том, что, естественно, линия (----) и маркер (X) показаны отдельно в условных обозначениях.

Знаете ли вы, как отобразить маркер и линию вместе в легенде, то есть в виде составной строки и метки маркера (--- X ---)?

1 Ответ

3 голосов
/ 18 марта 2020

Возможно, просто укажите свои атрибуты маркера в первом вызове графика ... например,

ax1.plot(x, y,color='#FF0000', linewidth=2.2,label='Example line',
          marker='o', mfc='black', mec='black', ms=10)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...