如何使用Python Matplotlib将图例放置在图表外部?
- 内容介绍
- 文章标签
- 相关推荐
本文共计984个文字,预计阅读时间需要4分钟。
在matplotlib中设置图例的位置,以及如何将图例放置在图外,以及在一幅图中包含多个子图的情况下如何删除重复的图例,可以通过以下步骤实现:
pythonimport matplotlib.pyplot as pltimport numpy as np
创建数据x=np.linspace(0, 10, 100)y1=np.sin(x)y2=np.cos(x)
创建子图fig, ax=plt.subplots()
绘制第一个子图ax.plot(x, y1, label='sin(x)')
绘制第二个子图ax_twin=ax.twinx() # 创建共享x轴的第二个轴ax_twin.plot(x, y2, label='cos(x)')
设置图例位置ax.legend(loc='upper left') # 默认位置在左上角ax_twin.legend(loc='upper right') # 另一个图例在右上角
将图例放置在图外fig.legend(loc='center left', bbox_to_anchor=(1, 0.5))
显示图形plt.show()
这段代码首先导入了必要的库,然后创建了一些数据。接着,使用`subplots`函数创建了一个包含两个子图的图形。每个子图都绘制了一条曲线,并分别设置了图例。通过`legend`函数的`loc`参数,可以设置图例的位置。
本文共计984个文字,预计阅读时间需要4分钟。
在matplotlib中设置图例的位置,以及如何将图例放置在图外,以及在一幅图中包含多个子图的情况下如何删除重复的图例,可以通过以下步骤实现:
pythonimport matplotlib.pyplot as pltimport numpy as np
创建数据x=np.linspace(0, 10, 100)y1=np.sin(x)y2=np.cos(x)
创建子图fig, ax=plt.subplots()
绘制第一个子图ax.plot(x, y1, label='sin(x)')
绘制第二个子图ax_twin=ax.twinx() # 创建共享x轴的第二个轴ax_twin.plot(x, y2, label='cos(x)')
设置图例位置ax.legend(loc='upper left') # 默认位置在左上角ax_twin.legend(loc='upper right') # 另一个图例在右上角
将图例放置在图外fig.legend(loc='center left', bbox_to_anchor=(1, 0.5))
显示图形plt.show()
这段代码首先导入了必要的库,然后创建了一些数据。接着,使用`subplots`函数创建了一个包含两个子图的图形。每个子图都绘制了一条曲线,并分别设置了图例。通过`legend`函数的`loc`参数,可以设置图例的位置。

