如何在Matplotlib中添加图例
参考:how to add a legend in matplotlib
Matplotlib是一个Python绘图库,用于创建各种类型的图表和可视化。在绘制图表时,添加图例可以帮助观众更好地理解图表中的数据。本文将详细介绍如何在Matplotlib中添加图例,包括不同类型的图表中如何添加图例以及如何自定义图例的外观。
1. 在线图中添加图例
在线图是Matplotlib中最常见的类型之一。下面是一个简单的示例代码,展示如何在Matplotlib中的在线图中添加图例:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='Sin Function')
plt.plot(x, y2, label='Cos Function')
plt.legend()
plt.show()
Output:
在这段示例代码中,我们先创建了一个x轴的数据,然后分别计算了sin和cos函数在这个x轴上的取值。接着使用plt.plot()
函数分别绘制了sin和cos函数的曲线,并通过label
参数为每条曲线指定了名称。最后调用plt.legend()
函数即可在图表中添加图例。
2. 散点图中添加图例
接下来我们看一下如何在Matplotlib中的散点图中添加图例。下面是一个示例代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
sizes = np.random.randint(10, 100, 50)
plt.scatter(x, y, s=sizes, alpha=0.5, label='Random Points')
plt.legend()
plt.show()
Output:
在这个示例中,我们使用plt.scatter()
函数绘制了一组随机生成的散点图,并通过label
参数为散点图指定了名称。然后调用plt.legend()
函数添加图例。
3. 柱状图中添加图例
柱状图也是Matplotlib中常见的图表类型之一。下面是一个示例代码,展示如何在柱状图中添加图例:
import matplotlib.pyplot as plt
import numpy as np
x = np.array(['A', 'B', 'C', 'D', 'E'])
y1 = np.random.randint(1, 10, 5)
y2 = np.random.randint(1, 10, 5)
plt.bar(x, y1, label='Group 1')
plt.bar(x, y2, label='Group 2')
plt.legend()
plt.show()
Output:
在这个示例中,我们使用plt.bar()
函数分别绘制了两组柱状图,并通过label
参数为每组柱状图指定了名称。最后调用plt.legend()
函数添加图例。
4. 自定义图例样式
除了通过默认方式添加图例外,我们还可以通过一些参数来自定义图例的外观。下面是一个示例代码,展示如何自定义图例的样式:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], label='Line 1')
plt.plot([3, 2, 1], label='Line 2')
plt.legend(title='Legend', loc='upper left', shadow=True, fontsize='large')
plt.show()
Output:
在这个示例中,我们在plt.legend()
函数中使用了一些额外的参数。title
参数指定了图例的标题,loc
参数指定了图例的位置,shadow
参数为图例添加阴影效果,fontsize
参数指定了图例文字的大小。
5. 多列图例
有时候我们需要在一个图中展示多列图例,下面是一个示例代码,展示如何在Matplotlib中创建多列图例:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], label='Line 1')
plt.plot([3, 2, 1], label='Line 2')
plt.plot([2, 2, 2], label='Line 3')
plt.legend(ncol=2)
plt.show()
Output:
在这个示例中,我们在plt.legend()
函数中使用了ncol
参数来指定图例的列数,这样就可以在同一行上显示多个图例。
通过以上示例代码,我们详细介绍了如何在Matplotlib中添加图例,包括在线图、散点图、柱状图等不同类型的图表中如何添加图例,以及如何自定义图例的外观和样式。