一周学会Matplotlib3 Python 数据可视化-图例 (Legend)

发布于:2025-08-09 ⋅ 阅读:(13) ⋅ 点赞:(0)

锋哥原创的Matplotlib3 Python数据可视化视频教程:

https://www.bilibili.com/video/BV1UhtuzcEqX/

课程介绍


本课程讲解利用python进行数据可视化 科研绘图-Matplotlib,学习Matplotlib图形参数基本设置,绘图参数及主要函数,以及Matplotlib基础绘图,和Matplotlib高级绘图。

图例 (Legend)

图例是数据可视化中不可或缺的元素,用于标识图表中不同数据系列的含义。

最基础用法,线条参数里,加上label线条文字描述属性,然后直接调用plt.legend()方法显示图例;注意,这里图例的显示的位置默认是best最佳位置,尽可能没有线条干扰。还有显示的是所有线条的图例。

import matplotlib
import numpy as np
from matplotlib import pyplot as plt
​
# 设置matplotlib使用黑体显示中文
matplotlib.rcParams['font.family'] = 'Microsoft YaHei'
​
# 生成数据
x = np.arange(0, 20, 1)
y1 = (x - 9) ** 2 + 1
y2 = (x + 5) ** 2 + 8
​
# 绘图
plt.plot(x, y1, label='利润')
plt.plot(x, y2, label='销量')
​
# 显示图例
plt.legend()
​
# 显示图片
plt.show()

我们可以通过loc参数来设置图例的位置:

位置字符串 数字代码 说明
'best' 0 自动选择
'upper right' 1 右上角
'upper left' 2 左上角
'lower left' 3 左下角
'lower right' 4 右下角
'center' 10 正中央

比如设置 plt.legend(loc='upper right')

则图例显示到右上角:

假如我们有多条线,只想显示部分线的图例,这时候我们需要通过handles属性手动设置图例。

我们看下下方示例:

import matplotlib
import numpy as np
from matplotlib import pyplot as plt
​
# 设置matplotlib使用黑体显示中文
matplotlib.rcParams['font.family'] = 'Microsoft YaHei'
​
# 生成数据
x = np.arange(0, 20, 1)
y1 = (x - 9) ** 2 + 1
y2 = (x + 5) ** 2 + 8
​
# 绘图
line1, = plt.plot(x, y1, label='利润')
line2, = plt.plot(x, y2, label='销量')
​
# 显示图例 只显示线条1
plt.legend(handles=[line1])
​
# 显示图片
plt.show()

运行效果:

还有更多细粒度图例设置参数。

参数 类型 说明 示例
loc str/int 图例位置(默认 'best' loc='upper left', loc=2
bbox_to_anchor tuple loc 配合调整位置 (1.05, 1)(图例外侧)
ncol int 图例列数(默认为1列) ncol=2(分两列显示)
title str 图例标题 title='Functions'
fontsize str/float 字体大小 fontsize=12, 'small'
frameon bool 是否显示边框 frameon=False
shadow bool 是否显示阴影 shadow=True
facecolor str 背景颜色 facecolor='#f0f0f0'
edgecolor str 边框颜色 edgecolor='blue'
fancybox bool 圆角边框 fancybox=False(直角)

网站公告

今日签到

点亮在社区的每一天
去签到