我有一些问题,想弄清楚如何强制matplotlib添加我想要的传奇。
我用以下脚本生成这个2页的情节:
n = 1
trn = True
for i in diff.keys():
plt.subplot(8, 4, n)
plt.xlim([0, rounds + 1])
plt.locator_params(axis='y', nbins=5)
if PEPTIDE_KD[i] == 1e-2:
plt.plot(x_cord, [x[0] for x in diff[i]], 'ro--', label='asd')
plt.plot(x_cord, [x[1] for x in diff[i]], 'rv--', label='bsd')
else:
plt.plot(x_cord, [x[0] for x in diff[i]], 'bo--', label='asd')
plt.plot(x_cord, [x[1] for x in diff[i]], 'bv--', label='csd')
plt.title(i)
n += 1
if n == 33 and trn:
n = 1
trn = False
plt.suptitle('Ligand energies')
plt.locator_params(axis='y', nbins=5)
plt.subplots_adjust(hspace=0.35)
plt.show()
plt.legend(bbox_to_anchor=(-0.05, 1), loc=1)
plt.locator_params(axis='y', nbins=5)
plt.subplots_adjust(hspace=0.35)
plt.show()
但是我想将图例放在第一个子图的左侧,或者放在第一行的最后一个子图的右侧。
我可以使用if line == 0
bla bla执行此操作,但问题是您可以在我附加的图中看到,例如最后一个图只包含蓝色数据,因此只会显示蓝色图例。我想把一个完整的传说(红色和蓝色)也放在同一个地方。我甚至不知道预先放置蓝色和红色的地方。
这可能吗?