如何避免数据在matplotlib图中落入传奇?

时间:2016-04-26 12:21:35

标签: python matplotlib

在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()

1 个答案:

答案 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()

生成的图像如下所示:

enter image description here

注意:如果您计划将图例移到绘图区域之外,则可能需要像上面的代码中那样调整图形。