在图例中显示标记的边缘和面

时间:2019-02-10 15:36:23

标签: python matplotlib plot label legend

我有一个附加的图,我喜欢用

绘制的符号
ax.errorbar('mjd', 'aperMag3Ab', label='',        fmt='o',  color='k', ms=ms*1.4)
ax.errorbar('mjd', 'aperMag3Ab', label='WFCAM Y', fmt='o',  color='y', ms=ms)

总共总共重复八次。我目前得到的图例:

plt.legend(loc="upper left", ncol=2, fontsize=labelsize/1.4, frameon=True)

如何同时在图例中获得外部黑色圆弧(用于WFCAM标签)和内部黑色六边形(用于VIRCAM标签)? enter image description here

1 个答案:

答案 0 :(得分:2)

我无权访问您的数据,但是如果您在情节中明确设置了fmtmarkeredgewidthmarkeredgecolor,它也应该显示在图例中。 / p>

作为一个最小的工作示例:

import matplotlib.pyplot as plt
fig, ax = plt.subplots()

ax.errorbar([0], [0], yerr = [0.25], label='WFCAM Y', fmt='o', markeredgecolor ='black', markeredgewidth = 1,  color='y', ms=10)
ax.errorbar([0], [1], yerr = [0.25], label='WFCAM Y', fmt='p', markeredgecolor ='black', markeredgewidth = 1,  color='r', ms=10)
plt.legend()

enter image description here