Matplotlib 图例位置设置

Matplotlib 图例位置设置

参考:Matplotlib Legend Location

在使用 Matplotlib 绘制图表的过程中,图例(legend)是一个非常重要的组件,它能够帮助我们更好地理解图表中的各个数据系列。在 Matplotlib 中,我们可以通过设置不同的位置参数来控制图例的位置。本文将详细介绍如何设置 Matplotlib 图例的位置,并提供大量示例代码供读者参考。

默认位置设置

首先,让我们先来看一下 Matplotlib 中图例的默认位置。在 Matplotlib 中,图例的位置默认是放在右上角,当图表中只有一个图例时,它会自动放在右上角。让我们来看一个简单的示例代码:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend()

plt.show()

Output:

Matplotlib 图例位置设置

运行上面的代码,可以看到图例自动显示在了右上角。

手动调整位置

如果我们想手动调整图例的位置,可以使用 loc 参数来指定位置。loc 参数有很多可选值,比如 ‘upper right’、’upper left’、’lower right’、’lower left’、’center’ 等等。让我们来看一个示例代码:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(loc='lower right')

plt.show()

Output:

Matplotlib 图例位置设置

运行上面的代码,可以看到图例被调整到了右下角。下面我们来看一些其他可选值的示例。

可选值示例

‘upper right’

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(loc='upper right')

plt.show()

Output:

Matplotlib 图例位置设置

‘upper left’

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(loc='upper left')

plt.show()

Output:

Matplotlib 图例位置设置

‘lower left’

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(loc='lower left')

plt.show()

Output:

Matplotlib 图例位置设置

‘center’

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(loc='center')

plt.show()

Output:

Matplotlib 图例位置设置

除了上面提到的几种位置之外,loc 参数还支持数字参数,以及 ‘best’、’center left’、’center right’ 等位置。读者可以根据需要选择合适的位置设置图例。

固定位置

有时候,我们希望图例的位置能够固定在某个具体的位置,不受数据点的位置影响。这时可以使用 bbox_to_anchor 参数来固定位置。例如,我们可以将图例固定在图表的右上角,不受数据点的干扰。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(bbox_to_anchor=(1, 1))

plt.show()

Output:

Matplotlib 图例位置设置

通过设置 (1, 1),我们将图例固定在了图表的右上角。

扩展边距

有时候,图例可能会覆盖到数据点或者坐标轴,这时可以通过设置 borderaxespad 参数来扩展边距,让图例不会覆盖其他元素。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(borderaxespad=2)

plt.show()

Output:

Matplotlib 图例位置设置

通过设置 borderaxespad=2,我们增加了图例与坐标轴之间的间距。

调整图例大小

有时候,我们希望调整图例的大小,让文字更清晰可见。这时可以通过设置 fontsize 参数来调整图例文字的大小。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(fontsize=12)

plt.show()

Output:

Matplotlib 图例位置设置

通过设置 fontsize=12,我们调整了图例文字的大小为12。

改变图例标题位置

有时候,我们需要在图例中加入一个标题,让读者更容易理解图例所代表的含义。在 Matplotlib 中,我们可以通过 title 参数来添加标题,并通过 title_loc 参数来设置标题的位置。示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, label='Prime Numbers')
plt.legend(title='Legend Title', title_loc='center')

plt.show()

通过设置 title_loc='center',我们将图例标题放在了图例的中心位置。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程