legend matplotlib

legend matplotlib

参考:Legend in Matplotlib

1. 使用legend添加图例

在Matplotlib中,我们可以使用legend方法来添加图例,使得图中的每条线或者每个点对应的含义清晰显示。下面是一个简单的示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend()
plt.show()

Output:

legend matplotlib

在这个示例中,我们绘制了sin(x)和cos(x)的曲线,并使用legend()方法添加了图例,分别对应’sin(x)’和’cos(x)’。

2. 设置图例位置

在Matplotlib中,我们可以通过传递loc参数来设置图例的位置。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(loc='upper right')
plt.show()

Output:

legend matplotlib

在这个示例中,我们设置了图例的位置为右上角,通过传递’upper right’给loc参数。

3. 设置图例标题

在Matplotlib中,我们可以使用title参数来设置图例的标题。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(title='Trigonometric Functions')
plt.show()

Output:

legend matplotlib

在这个示例中,我们设置了图例的标题为’Trigonometric Functions’。

4. 修改图例字体大小和颜色

我们可以通过设置fontsize和prop参数来修改图例中文字的字体大小和颜色。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(fontsize=12, title='Trigonometric Functions', title_fontsize=14, title_color='blue')
plt.show()

在这个示例中,我们设置了图例的字体大小为12,标题的字体大小为14,标题的颜色为蓝色。

5. 设置图例边框

我们可以通过设置frame参数来控制图例的边框是否显示。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(frameon=False)
plt.show()

Output:

legend matplotlib

在这个示例中,我们设置了图例的边框不显示。

6. 自定义图例的外观

我们可以通过设置legend方法的各种参数来自定义图例的外观,例如设置边框的颜色、边框的宽度、背景色等。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(edgecolor='red', shadow=True, facecolor='lightblue')
plt.show()

Output:

legend matplotlib

在这个示例中,我们设置了图例的边框颜色为红色,有阴影效果,背景色为浅蓝色。

7. 垂直排列图例

默认情况下,图例是水平排列的,我们可以通过设置ncol参数来控制图例的列数,从而实现垂直排列。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(ncol=1)
plt.show()

Output:

legend matplotlib

在这个示例中,我们设置了图例的列数为1,从而实现了垂直排列。

8. 图例中显示非线性标记

有时候我们希望图例中显示非线性标记,例如圆圈、方块等。可以通过设置handler_map参数来实现。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.legend_handler import HandlerTuple

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

p1, = plt.plot(x, y1, label='sin(x)')
p2, = plt.plot(x, y2, label='cos(x)', marker='s')

plt.legend(handles=[p1, p2], handler_map={p2: HandlerTuple(ndivide=None)})
plt.show()

在这个示例中,我们设置了cos(x)的标记为方块,并通过handler_map参数实现了图例中显示正方形标记。

9. 图例中添加图标

我们也可以在图例中添加图标,用来更清晰地表明每个条目的含义。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend()
plt.legend(markerscale=2)
plt.show()

Output:

legend matplotlib

在这个示例中,我们设置了标记的比例为2,使得图例中的标记更加显眼。

10. 图例中显示数学表达式

有时候我们希望在图例中显示数学表达式,例如希腊字母等。可以通过使用LaTeX表达式来实现。下面是一个示例代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)

plt.plot(x, y1, label=r'\sin(x)')
plt.plot(x, y2, label=r'\cos(x)')
plt.legend()
plt.show()

Output:

legend matplotlib

在这个示例中,我们使用了LaTeX表达式来显示sin(x)和cos(x)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程