我想用适当的图例在matplotlib
中绘制文本条目,即文本条目就像是标记,应与图例中的某些说明一起复制。
我确定了三种可能的方法,但没有一种方法可以为我提供我想要的控制权
plot
与mathtext一起用作标记:对于图例来说很好,但是我如何格式化文本本身(例如,避免加粗,斜体,选择字体系列等)?annotate
:可以完全控制文本,但是如何引用图例(marler的出现与情节上的显示完全一样)?; text
:与annotate
相同。
import matplotlib.pyplot as plt
myd = dict((k, v) for (k, v) in zip(('FOO', 'BLA', 'OOP'),
('Foofighters!', 'BlackPanther', 'Oops I did it again')))
mycolors = ('r', 'b', 'g')
fig, (ax0, ax1, ax2) = plt.subplots(1, 3, figsize=(10,4), sharex=True, sharey=True)
for i, (k,v) in enumerate(myd.items()):
ax0.plot(i, i, marker='$%s$' % k, ms=20, lw=0, label = v,
color=mycolors[i])
ax0.legend(loc=2)
ax1.annotate(k, xy=(i, i), label=v, ha='center', va='center',
color=mycolors[i], fontweight='extra bold')
ax1.legend(loc=2)
ax2.text(i, i, k, label=v, ha='center', va='center',
color=mycolors[i], family='fantasy', rotation=15)
ax2.legend(loc=2)
fig.tight_layout()
plt.show()