33、Matplotlib图表的定制【用Python进行AI数据分析进阶教程】

用Python进行AI数据分析进阶教程33:

Matplotlib图表的定制


关键词:标题定制、坐标轴标签、图例设置、颜色控制、字体样式

摘要:本文详细介绍了 Matplotlib 图表的定制方法,涵盖标题、坐标轴标签、图例、颜色和字体等核心内容。文章通过多个示例演示了如何使用 plt.title()、plt.xlabel()、plt.ylabel()、plt.legend() 等函数进行图表元素的个性化设置,包括位置调整、字体样式修改、标签旋转、坐标轴范围设定等。同时强调了在多数据系列情况下图例的重要性,以及如何通过颜色名称、十六进制码或 RGB 值来区分不同数据系列。此外,还介绍了利用 plt.rcParams 进行全局字体设置的方法,确保图表中文显示正常并避免乱码问题。整体目标是提升图表的专业性和可读性,帮助用户更好地传达数据信息。

👉 欢迎订阅🔗
《用Python进行AI数据分析进阶教程》专栏
《AI大模型应用实践进阶教程》专栏
《Python编程知识集锦》专栏
《字节跳动旗下AI制作抖音视频》专栏
《智能辅助驾驶》专栏
《工具软件及IT技术集锦》专栏


在使用 Matplotlib 绘制图表时,除了基本的图表绘制,还可以对图表进行各种定制,以使其更具可读性和专业性。下面从标题、坐标轴标签、图例、颜色、字体等方面细致讲解图表定制,同时提示关键点和注意点,并给出示例及重点语句解释。

一、标题定制

1、关键点

● 位置与对齐可通过 loc 参数指定标题的位置('left''center''right')。

● 字体样式可使用 fontdict 参数设置标题的字体、大小、颜色等。

2、注意点

● 标题内容应简洁明了地概括图表的主题。

● 字体大小要根据图表的大小和复杂程度选择合适的字体大小,避免过大或过小。

3、示例代码

Python脚本

# 导入 matplotlib 库中的 pyplot 模块,并将其重命名为 plt
# pyplot 模块提供了一系列用于绘制图表的函数,方便我们创建各种可视化图形
import matplotlib.pyplot as plt

# 准备数据
# 定义一个列表 x,作为折线图的 x 轴数据,代表自变量
# 这里 x 包含 5 个整数,分别为 1、2、3、4、5
x = [1, 2, 3, 4, 5]
# 定义一个列表 y,作为折线图的 y 轴数据,代表因变量
# y 中的元素与 x 中的元素一一对应,呈现出 y = 2x 的线性关系
y = [2, 4, 6, 8, 10]

# 绘制折线图
# 使用 plt.plot() 函数,传入 x 和 y 数据来绘制折线图
# 该函数会根据 x 和 y 列表中的对应元素,在坐标系中绘制出相应的点,然后用线段连接这些点形成折线
plt.plot(x, y)

# 定制标题
# 创建一个字典 title_font,用于设置标题的字体样式
# 'family': 'serif' 表示字体家族为衬线字体,这种字体通常有装饰性的笔画
# 'color': 'blue' 表示标题的颜色为蓝色
# 'size': 20 表示标题的字体大小为 20
title_font = {'family': 'serif', 'color': 'blue', 'size': 20}
# 使用 plt.title() 函数为图表添加标题
# 'Customized Line Plot' 是标题的具体内容
# fontdict=title_font 表示使用 title_font 字典中定义的字体样式来显示标题
# loc='left' 表示将标题放置在图表的左侧
plt.title('Customized Line Plot', fontdict=title_font, loc='left')

# 显示图表
# 使用 plt.show() 函数将绘制好的带有定制标题的折线图显示出来
# 运行此语句后,会弹出一个窗口展示最终的图表
plt.show()

输出结果解释

运行上述代码后,会弹出一个窗口显示折线图,具体输出特征如下:

● 折线图主体在坐标系中,会有一条折线连接点 (1, 2)(2, 4)(3, 6)(4, 8) 和 (5, 10),因为这是根据 x 和 y 列表中的数据绘制的。

● 标题在图表的左侧会显示标题 Customized Line Plot,标题的字体为衬线字体,颜色是蓝色,字体大小为 20。

重点语句解释

● title_font = {'family': 'serif', 'color': 'blue', 'size': 20}:定义一个字典 title_font,用于设置标题的字体样式,包括字体家族为 serif,颜色为蓝色,大小为 20。

● plt.title('Customized Line Plot', fontdict=title_font, loc='left'):为图表添加标题,标题内容为 'Customized Line Plot',使用 fontdict 中的字体样式,标题位置在左侧。

二、坐标轴标签定制

1、关键点

● 标签内容应准确描述坐标轴所代表的含义。

● 字体样式同样可使用 fontdict 参数设置坐标轴标签的字体、大小、颜色等。

2、注意点

● 标签旋转当标签内容较长时,可通过 rotation 参数旋转标签以避免重叠。

● 坐标轴范围可使用 plt.xlim() 和 plt.ylim() 函数设置坐标轴的范围。

3、示例代码

Python脚本

# 导入 matplotlib 库中的 pyplot 模块,使用别名 plt 方便后续调用绘图函数
import matplotlib.pyplot as plt

# 准备数据
# 定义列表 x 作为折线图的 x 轴数据,代表自变量
# 包含 5 个整数,分别为 1、2、3、4、5
x = [1, 2, 3, 4, 5]
# 定义列表 y 作为折线图的 y 轴数据,代表因变量
# 元素与 x 中的元素一一对应,呈现 y = 2x 的线性关系
y = [2, 4, 6, 8, 10]

# 绘制折线图
# 使用 plt.plot() 函数,传入 x 和 y 数据
# 函数会根据 x 和 y 中的对应元素,在坐标系中绘制点并连接成折线
plt.plot(x, y)

# 定制坐标轴标签
# 创建字典 label_font,用于设置坐标轴标签的字体样式
# 'family': 'sans-serif' 表示字体家族为无衬线字体
# 'color': 'green' 表示标签颜色为绿色
# 'size': 12 表示标签字体大小为 12
label_font = {'family': 'sans-serif', 'color': 'green', 'size': 12}
# 使用 plt.xlabel() 函数为 x 轴添加标签
# 'X-axis Label' 是标签的具体内容
# fontdict=label_font 表示使用 label_font 字典中的字体样式显示标签
plt.xlabel('X-axis Label', fontdict=label_font)
# 使用 plt.ylabel() 函数为 y 轴添加标签
# 'Y-axis Label' 是标签的具体内容
# fontdict=label_font 表示使用 label_font 字典中的字体样式显示标签
# rotation=0 表示标签不旋转,默认情况下 y 轴标签是垂直显示的,设置为 0 后水平显示
plt.ylabel('Y-axis Label', fontdict=label_font, rotation=0)

# 设置坐标轴范围
# 使用 plt.xlim() 函数设置 x 轴的范围
# 参数 0 和 6 表示 x 轴的最小值为 0,最大值为 6
plt.xlim(0, 6)
# 使用 plt.ylim() 函数设置 y 轴的范围
# 参数 0 和 12 表示 y 轴的最小值为 0,最大值为 12
plt.ylim(0, 12)

# 显示图表
# 使用 plt.show() 函数将绘制好的带有定制坐标轴标签和指定范围的折线图显示出来
# 运行此语句后,会弹出一个窗口展示最终的图表
plt.show()

输出结果解释

运行上述代码后,会弹出一个窗口显示折线图,具体特征如下:

● 折线图主体在坐标系中存在一条连接点 (1, 2)(2, 4)(3, 6)(4, 8) 和 (5, 10) 的折线,这是由 x 和 y 数据确定的。

● 坐标轴标签

○ x 轴下方会显示标签 X-axis Label,字体为无衬线字体,颜色是绿色,大小为 12。

○ y 轴左侧会显示水平的标签 Y-axis Label,同样使用无衬线字体、绿色、大小为 12。

● 坐标轴范围

○ x 轴的刻度范围从 0 到 6。

○ y 轴的刻度范围从 0 到 12。

重点语句解释

● label_font = {'family': 'sans-serif', 'color': 'green', 'size': 12}:定义一个字典 label_font,用于设置坐标轴标签的字体样式,包括字体家族为 sans-serif,颜色为绿色,大小为 12。

● plt.xlabel('X-axis Label', fontdict=label_font):为 x 轴添加标签,标签内容为 'X-axis Label',使用 label_font 中的字体样式。

● plt.ylabel('Y-axis Label', fontdict=label_font, rotation=0):为 y 轴添加标签,标签内容为 'Y-axis Label',使用 label_font 中的字体样式,rotation=0 表示标签不旋转。

● plt.xlim(0, 6) 和 plt.ylim(0, 12):分别设置 x 轴和 y 轴的范围为 0 到 6 和 0 到 12。

三、图例定制

1、关键点

● 位置可通过 loc 参数指定图例的位置,如 'upper right''lower left' 等。

● 样式可使用 frameon 参数控制图例是否有边框,fontsize 参数设置图例字体大小。

2、注意点

● 标签一致性在绘制图表时使用 label 参数为每个数据系列添加标签,确保图例中的标签与图表中的数据系列对应。

● 图例重叠当图表中有多个数据系列时,要注意图例的位置,避免与图表内容重叠。

3、示例代码

Python脚本

# 导入 matplotlib 库中的 pyplot 模块,使用别名 plt 方便后续调用绘图函数
import matplotlib.pyplot as plt

# 准备数据
# 定义列表 x 作为折线图的 x 轴数据,代表自变量
# 包含 5 个整数,分别为 1、2、3、4、5
x = [1, 2, 3, 4, 5]
# 定义列表 y1 作为第一条折线图的 y 轴数据,代表因变量
# 元素与 x 中的元素一一对应,呈现 y = 2x 的线性关系
y1 = [2, 4, 6, 8, 10]
# 定义列表 y2 作为第二条折线图的 y 轴数据,代表因变量
# 元素与 x 中的元素一一对应,呈现 y = 2x - 1 的线性关系
y2 = [1, 3, 5, 7, 9]

# 绘制折线图
# 使用 plt.plot() 函数绘制第一条折线图
# x 是 x 轴数据,y1 是 y 轴数据
# label='Line 1' 为这条折线添加一个标签,用于在图例中显示
plt.plot(x, y1, label='Line 1')
# 使用 plt.plot() 函数绘制第二条折线图
# x 是 x 轴数据,y2 是 y 轴数据
# label='Line 2' 为这条折线添加一个标签,用于在图例中显示
plt.plot(x, y2, label='Line 2')

# 定制图例
# 使用 plt.legend() 函数显示图例
# loc='upper left' 指定图例的位置在图表的左上角
# frameon=False 表示图例不显示边框
# fontsize=10 表示图例中文字的字体大小为 10
plt.legend(loc='upper left', frameon=False, fontsize=10)

# 显示图表
# 使用 plt.show() 函数将绘制好的带有图例的折线图显示出来
# 运行此语句后,会弹出一个窗口展示最终的图表
plt.show()

输出结果解释

运行上述代码后,会弹出一个窗口显示折线图,具体特征如下:

● 折线图主体

○ 图表中会有两条折线。第一条折线连接点 (1, 2)(2, 4)(3, 6)(4, 8) 和 (5, 10),对应 x 和 y1 的数据。

○ 第二条折线连接点 (1, 1)(2, 3)(3, 5)(4, 7) 和 (5, 9),对应 x 和 y2 的数据。

● 图例

○ 在图表的左上角会显示一个无框的图例。

○ 图例中有两个条目,分别为 Line 1 和 Line 2,用于标识两条折线。

○ 图例中文字的字体大小为 10。

重点语句解释

● plt.plot(x, y1, label='Line 1') 和 plt.plot(x, y2, label='Line 2'):在绘制折线图时,使用 label 参数为每个数据系列添加标签,方便在图例中显示。

● plt.legend(loc='upper left', frameon=False, fontsize=10):显示图例,位置在左上角,frameon=False 表示图例没有边框,fontsize=10 表示图例字体大小为 10。

四、颜色定制

1、关键点

● 颜色表示可使用颜色名称(如 'red''blue')、十六进制颜色码(如 '#FF0000')或 RGB 元组(如 (1, 0, 0))来指定颜色。

● 数据系列区分为不同的数据系列选择不同的颜色,以便清晰区分。

2、注意点

● 颜色搭配要考虑颜色的对比度和协调性,避免使用过于相近或刺眼的颜色。

3、示例代码

Python脚本

# 导入 matplotlib 库中的 pyplot 模块,将其重命名为 plt
# pyplot 提供了类似于 MATLAB 的绘图接口,方便我们创建各种图表
import matplotlib.pyplot as plt

# 准备数据
# 定义一个列表 x,作为折线图的 x 轴数据,代表自变量
# 这里 x 包含 5 个整数,分别为 1、2、3、4、5
x = [1, 2, 3, 4, 5]
# 定义一个列表 y1,作为第一条折线图的 y 轴数据,代表因变量
# y1 中的元素与 x 中的元素一一对应,呈现出 y = 2x 的线性关系
y1 = [2, 4, 6, 8, 10]
# 定义一个列表 y2,作为第二条折线图的 y 轴数据,代表因变量
# y2 中的元素与 x 中的元素一一对应,呈现出 y = 2x - 1 的线性关系
y2 = [1, 3, 5, 7, 9]

# 绘制折线图,定制颜色
# 使用 plt.plot() 函数绘制第一条折线图
# x 是 x 轴数据,y1 是 y 轴数据
# color='red' 指定第一条折线的颜色为红色
plt.plot(x, y1, color='red')
# 使用 plt.plot() 函数绘制第二条折线图
# x 是 x 轴数据,y2 是 y 轴数据
# color='#00FF00' 指定第二条折线的颜色为十六进制颜色码 #00FF00 所代表的绿色
plt.plot(x, y2, color='#00FF00')

# 显示图表
# 使用 plt.show() 函数将绘制好的两条带有定制颜色的折线图显示出来
# 运行此语句后,会弹出一个窗口展示最终的图表
plt.show()

输出结果解释

运行上述代码后,会弹出一个窗口显示折线图,具体输出特征如下:

● 折线图主体

○ 有两条折线展示在坐标系中。

○ 第一条折线通过连接点 (1, 2)(2, 4)(3, 6)(4, 8) 和 (5, 10) 形成,颜色为红色。

○ 第二条折线通过连接点 (1, 1)(2, 3)(3, 5)(4, 7) 和 (5, 9) 形成,颜色为绿色(由十六进制颜色码 #00FF00 确定)。

● 坐标轴坐标轴会根据 xy1 和 y2 的数据范围自动设置合适的刻度范围和标签。

重点语句解释

● plt.plot(x, y1, color='red'):绘制第一条折线图,颜色为红色。

● plt.plot(x, y2, color='#00FF00'):绘制第二条折线图,颜色为十六进制颜色码 #00FF00 表示的绿色。

五、字体定制

1、关键点

● 全局设置可使用 plt.rcParams 全局设置字体的相关属性,如字体家族、大小等。

● 局部设置在具体的标题、坐标轴标签、图例等定制中,也可使用 fontdict 参数局部设置字体样式。

2、注意点

● 字体可用性要确保所使用的字体在系统中可用,否则可能会使用默认字体。

3、示例代码

Python脚本

# 导入 matplotlib 库中的 pyplot 模块,使用别名 plt 方便后续调用绘图函数
import matplotlib.pyplot as plt

# 全局设置字体
# plt.rcParams 是一个字典,用于存储 matplotlib 的全局配置参数
# 'font.family' 键对应的值用于设置字体家族
# 将其设置为 'SimHei',即黑体,这样在图表中使用中文时能正常显示,避免乱码问题
plt.rcParams['font.family'] = 'SimHei'  # 设置中文字体为黑体
# 'font.size' 键对应的值用于设置字体的大小
# 将其设置为 14,意味着后续图表中的文字(如标题、坐标轴标签等)默认字体大小为 14
plt.rcParams['font.size'] = 14

# 准备数据
# 定义列表 x 作为折线图的 x 轴数据,代表自变量
# 包含 5 个整数,分别为 1、2、3、4、5
x = [1, 2, 3, 4, 5]
# 定义列表 y 作为折线图的 y 轴数据,代表因变量
# 元素与 x 中的元素一一对应,呈现 y = 2x 的线性关系
y = [2, 4, 6, 8, 10]

# 绘制折线图
# 使用 plt.plot() 函数,传入 x 和 y 数据
# 函数会根据 x 和 y 中的对应元素,在坐标系中绘制点并连接成折线
plt.plot(x, y)

# 添加标题和坐标轴标签
# 使用 plt.title() 函数为图表添加标题
# '定制字体示例' 是标题的具体内容,由于前面设置了字体为黑体,中文能正常显示
plt.title('定制字体示例')
# 使用 plt.xlabel() 函数为 x 轴添加标签
# 'X 轴' 是标签的具体内容,字体为黑体,大小为 14
plt.xlabel('X 轴')
# 使用 plt.ylabel() 函数为 y 轴添加标签
# 'Y 轴' 是标签的具体内容,字体为黑体,大小为 14
plt.ylabel('Y 轴')

# 显示图表
# 使用 plt.show() 函数将绘制好的带有标题和坐标轴标签的折线图显示出来
# 运行此语句后,会弹出一个窗口展示最终的图表
plt.show()

输出结果解释

运行上述代码后,会弹出一个窗口显示折线图,具体特征如下:

● 折线图主体在坐标系中存在一条连接点 (1, 2)(2, 4)(3, 6)(4, 8) 和 (5, 10) 的折线,这是由 x 和 y 数据确定的。

● 标题和坐标轴标签

○ 图表上方会显示标题 定制字体示例,字体为黑体,大小为 14。

○ x 轴下方会显示标签 X 轴,字体为黑体,大小为 14。

○ y 轴左侧会显示标签 Y 轴,字体为黑体,大小为 14。

重点语句解释

● plt.rcParams['font.family'] = 'SimHei':全局设置字体家族为黑体,以支持中文显示。

● plt.rcParams['font.size'] = 14:全局设置字体大小为 14。

● plt.title('定制字体示例')plt.xlabel('X 轴') 和 plt.ylabel('Y 轴'):添加标题和坐标轴标签,使用全局设置的字体样式。

——The END——


🔗 欢迎订阅专栏

序号专栏名称说明
1用Python进行AI数据分析进阶教程《用Python进行AI数据分析进阶教程》专栏
2AI大模型应用实践进阶教程《AI大模型应用实践进阶教程》专栏
3Python编程知识集锦《Python编程知识集锦》专栏
4字节跳动旗下AI制作抖音视频《字节跳动旗下AI制作抖音视频》专栏
5智能辅助驾驶《智能辅助驾驶》专栏
6工具软件及IT技术集锦《工具软件及IT技术集锦》专栏

👉 关注我 @理工男大辉郎 获取实时更新

欢迎关注、收藏或转发。
敬请关注 我的
微信搜索公众号:cnFuJH
CSDN博客:理工男大辉郎
抖音号:31580422589

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

理工男大辉郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值