我想将线图和标记的标签都标记为红色。但是,图例并没有出现,因为其情节正在占用其空间。
更新资料
事实证明我不能放几个弦 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] 删除。
我来说两句