在matplotlib中是否有自动操作图例的方法以避免重叠数据点和图例?我有很多数据点和固定的y轴范围,我可以指示matplotlib将图例向左或向下移动,如果它在数据点上。感谢
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1, 100)
y = -1/x
plt.plot(x,y, label='x and y', linewidth=30)
plt.legend()
plt.show()
答案 0 :(得分:0)
您可以手动将图例定位到所需位置,可以找到文档here.。您也可以将其移出图表的绘图区域,以避免重叠的可能性,如下面的代码所示:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(1, 100)
y = -1/x
plt.plot(x,y, label='x and y', linewidth=30)
#adjust the plot to allow the legend to fit nicely
plt.subplots_adjust(left=0.1,right = 0.75)
plt.legend(bbox_to_anchor=(1.01, 0.5), loc=2) # move the legend
plt.show()
生成的图像如下所示:
注意:如果您计划将图例移到绘图区域之外,则可能需要像上面的代码中那样调整图形。