如何更改 matplotlib 中图例的位置


要更改 Matplotlib 中图例的位置,可以使用plt.legend()函数。

例如,您可以使用以下语法将图例放置在绘图的左上角:

 plt. legend (loc=' upper left ')

默认位置是“最佳”——这是 Matplotlib 根据避免覆盖数据点的位置自动找到图例位置的位置。

但是,您可以指定以下标题位置之一:

  • 右上
  • 在左上角
  • 在左下角
  • 在右下角
  • 正确的
  • 中左
  • 中右
  • 底部中心
  • 顶部中心
  • 中心

您还可以使用bbox_to_anchor()参数将图例放置在绘图之外。例如,您可以使用以下语法将图例放置在绘图之外的右上角:

 plt. legend (bbox_to_anchor=( 1.05 , 1 ), loc=' upper left ', borderaxespad= 0 )

以下示例展示了如何在实践中使用每种方法。

示例 1:更改 Matplotlib 图中图例的位置

以下代码显示如何将图例放置在 Matplotlib 线图的右中心部分:

 import pandas as pd
import matplotlib. pyplot as plt

#createdata
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (loc=' center right ', title=' Metric ') 

以下代码显示了如何将图例放置在 Matplotlib 图的左上角:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (loc=' upper left ', title=' Metric ') 

示例 2:更改 Matplotlib 绘图外部图例的位置

要将图例放置在 Matplotlib 图之外,我们可以使用bbox_to_anchor()参数。

例如,以下是将图例放置在绘图右上角之外的方法:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (bbox_to_anchor=( 1.02 , 1 ), loc=' upper left ', borderaxespad= 0 )

以下是将图例放置在绘图右下角之外的方法:

 import pandas as pd
import matplotlib. pyplot as plt

#create data
df = pd. DataFrame ({' points ': [11, 17, 16, 18, 22, 25, 26, 24, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8]})

#add lines to plot
plt. plot (df[' points '], label=' Points ', color=' green ')
plt. plot (df[' assists '], label=' Assists ', color=' steelblue ')

#place legend in center right of plot
plt. legend (bbox_to_anchor=( 1.02 , 0.1 ), loc=' upper left ', borderaxespad= 0 ) 

有关bbox_to_anchor()参数的详细说明,请参阅matplotlib 文档

其他资源

以下教程解释了如何在 Matplotlib 中执行其他常见操作:

如何更改 Matplotlib 中的图例字体大小
如何在 Matplotlib 中为图例添加标题
如何在 Matplotlib 中调整标题位置
如何在 Matplotlib 中调整轴标签位置

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注