图例覆盖图例-Matplotlib

佩尔

我有一个情节,如下所示: 在此处输入图片说明

我想将线图和标记的标签都标记为红色。但是,图例并没有出现,因为其情节正在占用其空间。

更新资料

事实证明我不能放几个弦 plt.legend()

我通过使用以下内容使数字更大:

 fig = plt.gcf()
 fig.set_size_inches(18.5, 10.5)

但是,现在图例中只有一个标签,标记出现在线图上,而我希望两个:一个单独用于标记,另一个单独用于线:

在此处输入图片说明

更新的代码:

plt.plot(range(len(y)), y, '-bD',  c='blue', markerfacecolor='red', markeredgecolor='k', markevery=rare_cases, label='%s' % target_var_name)

fig = plt.gcf()
fig.set_size_inches(18.5, 10.5)

# changed this over here
plt.legend()

plt.savefig(output_folder + fig_name)
plt.close()
博菲

您想要做的事情(对一个对象有两个标签)并不是完全不可能的,但是更容易分别绘制线条和稀有值,例如

# boilerplate
import numpy as np
import matplotlib.pyplot as plt

# synthesize some data 
N = 501
t = np.linspace(0, 10, N)
s = np.sin(np.pi*t)
rare = np.zeros(N, dtype=bool); rare[:20]=True; np.random.shuffle(rare)

plt.plot(t, s, label='Curve')
plt.scatter(t[rare], s[rare], label='rare')
plt.legend()

plt.show()

在此处输入图片说明

更新资料

[...]事实证明我不能在其中放几个字符串 plt.legend()

好吧,只要①几个字符串在一个可迭代的(元组或列表)中,并且②字符串(即标签)的数量等于情节中艺术家(即东西)的数量,就可以。

plt.legend(('a', 'b', 'c')) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章