各位看官老爷们好,欢迎来到小编的画图教程。今天,我们来聊聊matplotlib中的plt.legend,它可是美化图表的一把好手!准备好纸笔,跟着小编一起开动吧!
plt.legend是一个神奇的函数,它能帮我们在图表上添加图例,让读者一眼就能看出不同线对应的数据是什么。就像古代地图上的说明一样,帮你认清哪个颜色的小人代表哪个国家的军队。
举个例子,我们画一个折线图,有两条线,分别表示A和B两个数据序列的变化:
python
import matplotlib.pyplot as plt
画折线图
plt.plot([1,2,3], [4,5,6], label='A')
plt.plot([7,8,9], [10,11,12], label='B')
添加图例
plt.legend()
显示图表
plt.show()
运行代码后,我们就能看到图表上多了个图例,上面写着A和B:
[Image of a line chart with two lines and a legend]
默认的图例虽然能用,但实在朴素。别担心,plt.legend还提供了各种方法,让你把图例打扮得美美哒!
1. 改变图例位置:
厌倦了图例在右上角呆着?plt.legend有个loc参数,可以让你把它挪去别的地方。来看看都有哪些选项:
| 位置 | 参数值 |
|---|---|
| 右上角 | 0 |
| 左上角 | 1 |
| 右下角 | 2 |
| 左下角 | 3 |
| 中心 | 'center' |
| 右边 | 'right' |
| 左边 | 'left' |
| 上边 | 'upper' |
| 下边 | 'lower' |
比如下面这样,把图例移到了左上角:
python
plt.legend(loc=1)
[Image of a line chart with two lines and a legend in the top left corner]
2. 调整图例大小:
图例太大太小都不好,plt.legend的fontsize参数可以帮你调整大小。单位是点(pt),数值越大,字体越大。
下面我把图例字体改成了30pt:
python
plt.legend(fontsize=30)
[Image of a line chart with two lines and a large legend]
3. 改变图例边框:
默认情况下,图例没有边框。但如果你想让它更显眼,可以用borderpad参数添加边框。
下面给图例加了一条蓝色的边框:
python
plt.legend(borderpad=0.5, edgecolor='blue')
[Image of a line chart with two lines and a legend with a blue border]
4. 自定义图例标签:
如果你想让图例标签显示更个性化的信息,可以用label参数。比如,我们把A和B的标签改为“苹果”和“香蕉”:
python
plt.legend(labels=['苹果', '香蕉'])
[Image of a line chart with two lines and a legend with custom labels]
5. 添加图例
除了标签,你还可以给图例加上用title参数。比如,我们给图例加个标题叫“水果价格走势”:
python
plt.legend(title='水果价格走势')
[Image of a line chart with two lines and a legend with a title]
图例虽然好用,但也有些小毛病。比如,当你的数据线太多了,图例就会变得很长,遮挡住数据。
别慌,plt.legend还有个ncol参数,可以让你把图例分成多列。比如,把图例分成两列:
python
plt.legend(ncol=2)
[Image of a line chart with two lines and a legend with two columns]
当你掌握了plt.legend的基本用法后,不妨发挥你的创造力,定制出独一无二的图例。比如,你可以:
使用图例句柄来改变线型、颜色和标记形状;
设置图例的背景色和透明度;
添加额外的艺术家,比如图片或阴影;
下面这个图例是不是骚气十足?
[Image of a line chart with two lines and a customized legend with a background image]
互动时间
现在,轮到你大显身手了!跟我分享一下你的plt.legend使用心得吧。你用过什么骚操作来让图例与众不同?或者,你还有什么问题要问小编?留言区等你来battle~
*请认真填写需求信息,我们会在24小时内与您取得联系。