如何更改 seaborn 中图例的位置
要更改海图中图例的位置,可以使用plt.legend()命令。
例如,您可以使用以下语法将图例放置在绘图的右上角:
plt. legend (loc=' upper right ')
默认位置是“最佳”——这是 Matplotlib 根据避免覆盖数据点的位置自动找到图例位置的位置。
但是,您可以指定以下标题位置之一:
- 右上
- 在左上角
- 在左下角
- 在右下角
- 正确的
- 中左
- 中右
- 底部中心
- 顶部中心
- 中心
您还可以使用bbox_to_anchor()参数将图例放置在图之外。例如,您可以使用以下语法将图例放置在绘图之外的右上角:
plt. legend (bbox_to_anchor=( 1.05 , 1 ), loc=' upper left ', borderaxespad= 0 )
以下示例展示了如何在实践中使用每种方法。
示例 1:更改 Seaborn 图中图例的位置
以下代码显示如何将图例放置在海洋散点图的右中心部分:
import pandas as pd import seaborn as sns import matplotlib. pyplot as plt #create fake data df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']}) #create scatterplot sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ') #place legend in center right of plot plt. legend (loc=' center right ', title=' Team ')
以下代码显示了如何将图例放置在海洋散点图的左上角:
#create scatterplot sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ') #place legend in upper left of plot plt. legend (loc=' upper left ', title=' Team ')
示例 2:更改 Seaborn 图外图例的位置
要将图例放置在海洋图之外,我们可以使用bbox_to_anchor()参数。
例如,以下是将图例放置在绘图右上角之外的方法:
import pandas as pd import seaborn as sns import matplotlib. pyplot as plt #create fake data df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']}) #create scatterplot sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ') #place legend outside top right corner of plot plt. legend (bbox_to_anchor=( 1.02 , 1 ), loc=' upper left ', borderaxespad= 0 )
以下是将图例放置在绘图右下角之外的方法:
#create scatterplot sns. scatterplot (data=df, x=' points ', y=' assists ', hue=' team ') #place legend outside bottom right corner of plot plt. legend (bbox_to_anchor=( 1.02 , 0.15 ), loc=' upper left ', borderaxespad= 0 )
有关bbox_to_anchor()参数的详细说明,请参阅matplotlib 文档。
其他资源
如何调整 Seaborn 图的图形大小
如何更改 Seaborn 图上的轴标签
如何更改 Seaborn 图中的图例字体大小