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

Matplotlib绘制基本图表


关键词:折线图、柱状图、散点图、饼图、数据可视化

摘要:本文详细介绍了使用 Python 的 Matplotlib 库绘制基本图表的方法,包括折线图、柱状图、散点图和饼图。每种图表类型均明确了关键点、注意点,并配有示例代码及输出解释。折线图通过 plt.plot() 函数实现,适用于展示自变量与因变量之间的变化趋势;柱状图使用 plt.bar() 或 plt.barh() 绘制,用于比较不同类别的数值大小;散点图通过 plt.scatter() 展示两个变量之间的关系;饼图则借助 plt.pie() 表达各部分在整体中的比例。文章还强调了图表绘制中常见参数的设置方法,如颜色、样式、标签等,帮助用户快速掌握基础图表的绘制技巧。

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


Matplotlib 是 Python 中用于数据可视化的基础库,能够绘制多种类型的基本图表,下面为你细致讲解折线图、柱状图、散点图和饼图的绘制,同时说明关键点、注意点,并给出示例及重点语句解释。

. 折线图(Line Plot)

1、关键点

● 数据要求通常需要两组数据,一组作为 x 轴(自变量),另一组作为 y 轴(因变量),且两组数据长度要一致。

● 函数使用使用 plt.plot() 函数来绘制折线图。

2、注意点

● 数据顺序x 轴和 y 轴数据的顺序要对应,否则会导致折线连接错误。

● 线条样式可以通过 linestylemarker 等参数来调整线条的样式和标记点。

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]
# 定义一个列表 y,作为折线图的 y 轴数据,代表因变量
# y 中的元素与 x 中的元素一一对应,这里呈现出 y = 2x 的线性关系
y = [2, 4, 6, 8, 10]

# 绘制折线图
# 使用 plt.plot() 函数绘制折线图
# x 和 y 分别是前面定义的 x 轴和 y 轴数据
# label='Line Plot' 为该折线图添加一个标签,用于在图例中显示,方便区分不同的折线
# color='blue' 指定折线的颜色为蓝色
# linestyle='-' 表示折线的样式为实线
# marker='o' 表示在折线上的每个数据点处用圆形标记显示
plt.plot(x, y, label='Line Plot', color='blue', linestyle='-', marker='o')

# 添加标题和坐标轴标签
# 使用 plt.title() 函数为图表添加一个标题,描述图表的主题
# 这里标题为 'Simple Line Plot',表示这是一个简单的折线图
plt.title('Simple Line Plot')
# 使用 plt.xlabel() 函数为 x 轴添加标签,说明 x 轴所代表的含义
# 这里 x 轴标签为 'X-axis'
plt.xlabel('X-axis')
# 使用 plt.ylabel() 函数为 y 轴添加标签,说明 y 轴所代表的含义
# 这里 y 轴标签为 'Y-axis'
plt.ylabel('Y-axis')

# 添加图例
# 使用 plt.legend() 函数显示图例
# 图例中会显示之前为折线图设置的 label 标签,帮助用户识别不同的数据系列
plt.legend()

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

输出结果解释

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

● 标题图表的上方会显示标题 Simple Line Plot,表明这是一个简单的折线图。

● 坐标轴

○ x 轴的标签为 X-axis,其刻度范围从 1 到 5。

○ y 轴的标签为 Y-axis,其刻度范围根据 y 数据的大小自动调整,这里是从 2 到 10。

● 折线

○ 折线的颜色为蓝色,是由 color='blue' 参数指定的。

○ 折线的样式为实线,由 linestyle='-' 参数决定。

○ 折线上的每个数据点(对应 x 和 y 列表中的每一对值)都用圆形标记显示,这是 marker='o' 参数的效果。

● 图例

○ 图表中会显示一个图例框,里面显示 Line Plot,用于标识该折线图所代表的数据系列。

重点语句解释

● plt.plot(x, y, label='Line Plot', color='blue', linestyle='-', marker='o')

○ x 和 y 分别是 x 轴和 y 轴的数据。

○ label 用于为该折线图添加标签,方便在图例中显示。

○ color 指定折线的颜色,这里是蓝色。

○ linestyle 指定线条的样式,'-' 表示实线。

○ marker 指定标记点的样式,'o' 表示圆形标记。

● plt.title('Simple Line Plot'):为图表添加标题。

● plt.xlabel('X-axis') 和 plt.ylabel('Y-axis'):分别为 x 轴和 y 轴添加标签。

● plt.legend():显示图例,根据 label 参数的值来显示不同折线的名称。

二、柱状图(Bar Chart)

1、关键点

● 数据分组如果要绘制多个系列的柱状图,需要合理分组数据。

● 函数选择plt.bar() 用于绘制垂直柱状图,plt.barh() 用于绘制水平柱状图。

2、注意点

● 柱子宽度可以通过 width 参数调整柱子的宽度,避免柱子重叠或过宽。

● 标签对齐在添加柱子标签时,要注意标签的位置和对齐方式。

3、示例代码

Python脚本

# 导入 matplotlib 库中的 pyplot 模块,使用别名 plt 方便后续调用
# pyplot 模块提供了一系列用于绘制图表的函数
import matplotlib.pyplot as plt

# 准备数据
# 创建一个列表 categories,其中包含四个字符串元素 'A', 'B', 'C', 'D'
# 这些元素将作为柱状图的 x 轴类别标签
categories = ['A', 'B', 'C', 'D']
# 创建一个列表 values,包含四个整数元素 25, 30, 15, 20
# 这些元素对应每个类别 'A', 'B', 'C', 'D' 的数值,将作为柱状图中柱子的高度
values = [25, 30, 15, 20]

# 绘制垂直柱状图
# 使用 plt.bar() 函数绘制垂直柱状图
# 第一个参数 categories 是 x 轴上的类别标签
# 第二个参数 values 是每个类别对应的数值,即柱子的高度
# color='green' 指定柱子的颜色为绿色
# width=0.5 指定柱子的宽度为 0.5 个单位
plt.bar(categories, values, color='green', width=0.5)

# 添加标题和坐标轴标签
# 使用 plt.title() 函数为图表添加标题,标题内容为 'Simple Bar Chart'
# 这个标题可以帮助用户快速了解图表的主题
plt.title('Simple Bar Chart')
# 使用 plt.xlabel() 函数为 x 轴添加标签,标签内容为 'Categories'
# 表明 x 轴代表的是不同的类别
plt.xlabel('Categories')
# 使用 plt.ylabel() 函数为 y 轴添加标签,标签内容为 'Values'
# 表明 y 轴代表的是与类别对应的数值
plt.ylabel('Values')

# 显示图表
# 使用 plt.show() 函数将绘制好的图表显示出来
# 运行该语句后,会弹出一个窗口展示绘制好的垂直柱状图
plt.show()

输出结果解释

运行上述代码后,会弹出一个窗口显示垂直柱状图。具体输出特征如下:

● 标题图表上方会显示 Simple Bar Chart,告知用户这是一个简单的柱状图。

● 坐标轴

x 轴标签为 Categories,轴上依次显示类别标签 ABCD

y 轴标签为 Values,轴上的刻度根据 values 列表中的数值范围自动生成,这里大概是从 0 到 30 左右。

● 柱子

有四个绿色的柱子,分别对应 ABCD 四个类别。

柱子的高度分别为 25、30、15、20,对应 values 列表中的数值。

每个柱子的宽度为 0.5 个单位。

重点语句解释

● plt.bar(categories, values, color='green', width=0.5)

○ categories 是柱子对应的类别名称。

○ values 是柱子的高度。

● color 指定柱子的颜色,这里是绿色。

● width 指定柱子的宽度。

三、散点图(Scatter Plot)

1、关键点

● 数据关系散点图主要用于展示两个变量之间的关系,要确保数据的相关性有分析意义。

● 函数使用使用 plt.scatter() 函数绘制散点图。

2、注意点

● 点的大小和颜色:可以通过 s 和 c 参数分别调整点的大小和颜色,以展示更多的数据信息。

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]
# 定义一个列表 y,作为散点图的 y 轴数据,代表因变量
# y 中的元素与 x 中的元素一一对应,呈现出 y = 2x 的线性关系
y = [2, 4, 6, 8, 10]

# 绘制散点图
# 使用 plt.scatter() 函数绘制散点图
# x 和 y 分别是前面定义的 x 轴和 y 轴数据
# color='red' 指定散点的颜色为红色
# s=50 指定散点的大小为 50 个单位
plt.scatter(x, y, color='red', s=50)

# 添加标题和坐标轴标签
# 使用 plt.title() 函数为图表添加标题,描述图表的主题
# 这里标题为 'Simple Scatter Plot',表示这是一个简单的散点图
plt.title('Simple Scatter Plot')
# 使用 plt.xlabel() 函数为 x 轴添加标签,说明 x 轴所代表的含义
# 这里 x 轴标签为 'X-axis'
plt.xlabel('X-axis')
# 使用 plt.ylabel() 函数为 y 轴添加标签,说明 y 轴所代表的含义
# 这里 y 轴标签为 'Y-axis'
plt.ylabel('Y-axis')

# 显示图表
# 使用 plt.show() 函数将绘制好的图表显示出来
# 运行此语句后,会弹出一个窗口展示绘制好的散点图
plt.show()

输出结果解释

运行上述代码后,会弹出一个窗口显示散点图。该散点图的具体特征如下:

● 标题图表的上方会显示标题 Simple Scatter Plot,表明这是一个简单的散点图。

● 坐标轴

○ x 轴的标签为 X-axis,其刻度范围从 1 到 5。

○ y 轴的标签为 Y-axis,其刻度范围根据 y 数据的大小自动调整,这里是从 2 到 10。

● 散点

○ 散点的颜色为红色,是由 color='red' 参数指定的。

○ 散点的大小为 50 个单位,由 s=50 参数决定。

○ 散点的位置由 x 和 y 列表中的元素一一对应确定,呈现出一条直线分布的趋势,因为 y 与 x 存在线性关系 y = 2x

重点语句解释

● plt.scatter(x, y, color='red', s=50)

○ x 和 y 分别是散点的 x 坐标和 y 坐标。

○ color 指定散点的颜色,这里是红色。

○ s 指定散点的大小,这里是 50。

四、饼图(Pie Chart)

1、关键点

● 数据比例饼图展示的是各部分占总体的比例关系,数据总和通常代表整体。

● 函数使用使用 plt.pie() 函数绘制饼图。

2、注意点

● 数据归一化数据不需要提前归一化,plt.pie() 函数会自动计算比例。

● 标签和百分比可以通过 labels 和 autopct 参数添加标签和显示百分比。

3、示例代码

Python脚本

import matplotlib.pyplot as plt

# 定义一个列表 sizes,其中的元素代表饼图中各个扇形部分的数值大小
# 这些数值将用于计算各部分占总体的比例
sizes = [15, 30, 45, 10]
# 定义一个列表 labels,其中的元素是与 sizes 列表中各数值对应的标签
# 这些标签将显示在饼图的各个扇形旁边,用于标识每个部分
labels = ['A', 'B', 'C', 'D']

# 绘制饼图
# 使用 plt.pie() 函数绘制饼图
# sizes 是前面定义的各部分数值列表,用于确定各扇形的大小
# labels=labels 指定每个扇形对应的标签,会显示在饼图中相应扇形的旁边
# autopct='%1.1f%%' 用于在每个扇形上显示该部分占总体的百分比,保留一位小数
# startangle=90 表示饼图从 90 度(即正上方)开始绘制扇形
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)

# 添加标题
# 使用 plt.title() 函数为饼图添加一个标题,描述该饼图的主题
# 这里的标题是 'Simple Pie Chart',表明这是一个简单的饼图
plt.title('Simple Pie Chart')

# 使饼图为正圆形
# 使用 plt.axis('equal') 函数设置坐标轴的比例相等
# 这样可以确保绘制出的饼图是一个正圆形,而不是椭圆形
plt.axis('equal')

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

输出结果解释

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

● 标题饼图的上方会显示标题 Simple Pie Chart,让用户快速了解这是一个简单的饼图。

● 饼图主体

○ 饼图被分割成四个扇形,分别对应 labels 列表中的 ABCD

○ 每个扇形的大小由 sizes 列表中的数值决定,各扇形占总体的比例根据 sizes 中的数值计算得出。例如,A 部分占比为 15 / (15 + 30 + 45 + 10) * 100%,以此类推。

○ 每个扇形上会显示其占总体的百分比,格式为保留一位小数,如 15.0% 等,这是由 autopct='%1.1f%%' 参数控制的。

● 形状由于使用了 plt.axis('equal'),饼图呈现为正圆形,而不是椭圆形。

重点语句解释

● plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)

○ sizes 是各部分的数值。

○ labels 是各部分的标签。

○ autopct 用于显示各部分所占的百分比,'%1.1f%%' 表示保留一位小数。

○ startangle 指定饼图的起始角度,这里从 90 度开始。

● plt.axis('equal'):使饼图为正圆形,避免出现椭圆形状。

——The END——


🔗 欢迎订阅专栏

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

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

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

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐