前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >画出你的数据故事:Python中Matplotlib使用从基础到高级

画出你的数据故事:Python中Matplotlib使用从基础到高级

原创
作者头像
子午Python
发布于 2023-08-27 02:49:36
发布于 2023-08-27 02:49:36
92902
代码可运行
举报
文章被收录于专栏:Python项目Python项目
运行总次数:2
代码可运行

摘要: Matplotlib是Python中广泛使用的数据可视化库,它提供了丰富的绘图功能,用于创建各种类型的图表和图形。本文将从入门到精通,详细介绍Matplotlib的使用方法,通过代码示例和中文注释,帮助您掌握如何在不同场景下灵活绘制高质量的图表。

1. 简介

Matplotlib是一个功能强大的Python数据可视化库,它可以用来绘制各种类型的图表,包括折线图、散点图、柱状图、饼图、3D图等。Matplotlib的灵活性和可定制性使得它成为数据科学家和分析师的首选工具。本文将带您从入门到精通,深入探索Matplotlib的各种绘图技巧。

2. 安装Matplotlib

在开始之前,您需要安装Matplotlib库。如果您使用的是Anaconda发行版,通常已经预装了Matplotlib。否则,可以使用以下命令安装:

代码语言:text
AI代码解释
复制
pip install matplotlib

3. 基本绘图

在Matplotlib中显示中文字体需要特殊的设置,因为默认情况下Matplotlib可能无法正确显示中文字符。以下是一些步骤,让您可以在Matplotlib绘图中正确显示中文字体:

  1. 安装字体库: 首先,确保您的系统上安装了适合的中文字体库,比如微软雅黑、宋体、黑体等。您可以从一些开源字体库中选择,如思源字体、文泉驿字体等。
  2. 配置Matplotlib: 在绘图之前,需要在Matplotlib中设置中文字体。可以使用rcParams来设置字体,这样在整个Matplotlib会话中都会生效。以下是一个设置中文字体的示例代码:
代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

# 设置中文字体,修改为您系统上已经安装的中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示为方块的问题

折线图

折线图是显示数据随时间或某种顺序变化的理想选择。以下是一个简单的折线图示例:

代码语言:python
代码运行次数:2
运行
AI代码解释
复制
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 8, 6, 4, 2]

plt.plot(x, y, marker='o')
plt.title('折线图示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.show()
image-20230817140658121
image-20230817140658121

散点图

散点图用于显示两个变量之间的关系。以下是一个简单的散点图示例:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

x = [160, 170, 180, 165, 175]
y = [60, 70, 80, 65, 75]

plt.scatter(x, y)
plt.title('散点图示例')
plt.xlabel('身高(cm)')
plt.ylabel('体重(kg)')
plt.show()
image-20230817140815517
image-20230817140815517

柱状图

柱状图适用于比较不同类别的数据。以下是一个简单的柱状图示例:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D', 'E']
values = [25, 40, 60, 30, 50]

plt.bar(categories, values)
plt.title('柱状图示例')
plt.xlabel('类别')
plt.ylabel('值')
plt.show()
image-20230817140843452
image-20230817140843452

饼图

饼图用于显示数据的相对部分。以下是一个简单的饼图示例:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

labels = ['A', 'B', 'C', 'D', 'E']
sizes = [15, 30, 25, 10, 20]

plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title('饼图示例')
plt.show()
image-20230817140905062
image-20230817140905062

4. 高级绘图

子图

Matplotlib允许将多个图表组织在一个大的图中,称为子图。以下是一个子图示例:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

# 创建一个2x2的子图布局
plt.subplot(2, 2, 1)
plt.plot(x, y)

plt.subplot(2, 2, 2)
plt.scatter(x, y)

plt.subplot(2, 2, 3)
plt.bar(categories, values)

plt.subplot(2, 2, 4)
plt.pie(sizes, labels=labels, autopct='%1.1f%%')

plt.tight_layout()  # 调整子图布局
plt.show()
image-20230817140929297
image-20230817140929297

自定义样式

您可以自定义图表的样式,包括颜色、线型、标记等。以下是一个自定义样式示例:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

plt.plot(x, y, color='red', linestyle='--', marker='o', label='数据')
plt.title('自定义样式示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.legend()
plt.show()
image-20230817140949113
image-20230817140949113

注解和标签

您可以在图表中添加注解和标签,以增强可读性。以下是一个带注解和标签的示例:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

plt.scatter(x, y)
plt.title('注解和标签示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')

for i, txt in enumerate(labels):
    plt.annotate(txt, (x[i], y[i]))

plt.show()

<img src="http://zwgroup.oss-cn-beijing.aliyuncs.com/image/image-20230817141014948.png" alt="image-20230817141014948" style="zoom:80%;" />

3D绘图

Matplotlib还支持绘制3D图表,如3D散点图、3D曲面图等。以下是一个3D散点图的示例:

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = [160, 170, 180, 165, 175]
y = [60, 70, 80, 65, 75]
z = [2, 3, 4, 2.5, 3.5]

ax.scatter(x, y, z)
ax.set_title('3D散点图示例')
ax.set_xlabel('身高(cm)')
ax.set_ylabel('体重(kg)')
ax.set_zlabel('分数')
plt.show()
image-20230817141047435
image-20230817141047435

5. 数据可视化实例

折线图:温度变化趋势

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

days = [1, 2, 3, 4, 5, 6, 7]
temperatures = [25, 26, 27, 24, 23, 22, 21]

plt.plot(days, temperatures, marker='o')
plt.title('温度变化趋势')
plt.xlabel('日期')
plt.ylabel('温度(摄氏度)')
plt.show()
image-20230817141111051
image-20230817141111051

散点图:身高体重关系

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

heights = [160, 170, 180, 165, 175]
weights = [60, 70, 80, 65, 75]

plt.scatter(heights, weights)
plt.title('身高体重关系')
plt.xlabel('身高(cm)')
plt.ylabel('体重(kg)')
plt.show()
image-20230817141129218
image-20230817141129218

柱状图:销售数据分析

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt

products = ['A', 'B', 'C', 'D', 'E']
sales = [100, 150, 80, 200, 120]

plt.bar(products, sales)
plt.title('销售数据分析')
plt.xlabel('产品')
plt.ylabel('销售量')
plt.show()
image-20230817141154559
image-20230817141154559

6. Matplotlib扩展

Seaborn库

Seaborn是基于Matplotlib的高级数据可视化库,提供了更美观、更简洁的绘图风格。您可以使用Seaborn来创建统计图表、热图、分布图等。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import seaborn as sns

sns.set(style="whitegrid")
sns.scatterplot(x=heights, y=weights)
plt.title('Seaborn散点图')
plt.xlabel('身高(cm)')
plt.ylabel('体重(kg)')
plt.show()
image-20230817141455669
image-20230817141455669

Plotly库

Plotly是一个交互式数据可视化库,可以生成高度可交互的图表和图形。它支持在线分享和嵌入,适用于创建动态、可交互的数据可视化。

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
import plotly.express as px

fig = px.scatter(x=heights, y=weights)
fig.update_layout(title='Plotly散点图', xaxis_title='身高(cm)', yaxis_title='体重(kg)')
fig.show()

7. 总结

Matplotlib是Python中强大的数据可视化工具,可以创建各种类型的图表和图形。本文从基础绘图开始,逐步介绍了折线图、散点图、柱状图、饼图等基本图表类型,以及子图、自定义样式、注解和标签、3D绘图等高级技巧。此外,我们还展示了数据可视化实例,展示了如何将Matplotlib应用于实际数据分析中。最后,我们介绍了Matplotlib的扩展库Seaborn和Plotly,让您了解更多可选的数据可视化工具。通过深入学习Matplotlib,您可以更好地展示和传达数据,为决策和分析提供有力的支持。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
【深度学习】 Python 和 NumPy 系列教程(十四):Matplotlib详解:1、2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
Qomolangma
2024/07/29
2950
【深度学习】 Python 和 NumPy 系列教程(十四):Matplotlib详解:1、2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图
【深度学习】 Python 和 NumPy 系列教程(十三):Matplotlib详解:1、2d绘图(上):折线图、散点图、柱状图、直方图、饼图
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
Qomolangma
2024/07/29
2920
【深度学习】 Python 和 NumPy 系列教程(十三):Matplotlib详解:1、2d绘图(上):折线图、散点图、柱状图、直方图、饼图
【Python篇】matplotlib超详细教程-由入门到精通(下篇)
在实际的应用场景中,我们不仅需要在程序中展示图表,有时候还需要将这些图表保存为文件,以便在其他地方使用,比如插入文档、报告或网页中。matplotlib 提供了非常方便的保存图表功能。
半截诗
2024/10/09
8520
【Python篇】matplotlib超详细教程-由入门到精通(下篇)
Python 的 Matplotlib 绘图库:一种强大的数据可视化工具
Matplotlib 是一个用于创建高质量图像的库,它可以生成各种静态、动态和交互式的图像。以下是一些基本的绘图类型:
运维开发王义杰
2023/08/10
3250
Python 的 Matplotlib 绘图库:一种强大的数据可视化工具
【数据可视化】Matplotlib 从入门到精通学习笔记
如果将文本数据与图表数据相比较,人类的思维模式更适合于理解后者,原因在于图表数据更加直观且形象化,它对于人类视觉的冲击更强,这种使用图表来表示数据的方法被叫做数据可视化。
小小程序员
2022/11/22
5.6K0
【数据可视化】Matplotlib 从入门到精通学习笔记
Matplotlib
请注意,本文编写于 980 天前,最后修改于 976 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
9920
Matplotlib
让数据“开口说话”——数据可视化的实用指南
数据可视化,既是技术也是艺术。随着大数据时代的到来,数据可视化已成为洞察趋势、传递信息的关键方式。然而,我们常会看到一些让人摸不着头脑的图表:过于复杂、无关紧要甚至误导观众。如何避免这些问题?在实际操作中,数据可视化的最佳实践有哪些?本文将从明确目标、选择图表、简洁设计、突出重点等方面深入探讨,让你的数据真正“开口说话”。
Echo_Wish
2025/04/02
2120
让数据“开口说话”——数据可视化的实用指南
Python数据可视化大全:Matplotlib、Seaborn、Bokeh和Plotly实战指南
数据可视化是数据科学和分析中不可或缺的一部分,而Python中的Matplotlib和Seaborn库为用户提供了强大的工具来创建各种可视化图表。本文将介绍如何使用这两个库进行数据可视化,并提供一些实用的代码示例和解析。
一键难忘
2024/04/18
2.2K0
python数据分析——数据可视化(图形绘制基础)
数据可视化是指利用图形、表格、图表等方式将数据展示出来,使得数据更加清晰、易于理解和分析。图形绘制是数据可视化的基础,通过绘制各种图形呈现数据,可以更加直观地了解数据之间的关系和趋势。
鲜于言悠
2024/03/20
9320
python数据分析——数据可视化(图形绘制基础)
猫头虎 分享:Python库 Matplotlib 的简介、安装、用法详解入门教程
今天猫头虎 带大家一起探索一个非常重要的 Python 库——Matplotlib。这是一个强大的工具,广泛应用于数据科学、人工智能和机器学习等领域,用于创建静态、动态和交互式的可视化图表。无论你是新手还是资深开发者,本文都将帮助你全面了解 Matplotlib 的使用方法,以及如何解决在使用过程中遇到的常见问题。
猫头虎
2024/08/29
7130
从头开始的可视化数据 matplotlib:初学者努力绘制数据图
从头开始学习使用 matplotlib 可视化数据,对于初学者来说,可能会有些挑战,但 matplotlib 的核心理念非常清晰:绘制图表需要了解如何设置图形、坐标轴以及如何用数据填充它们。我们可以通过一些简单的例子来逐步介绍基本步骤。
华科云商小徐
2024/10/14
2230
Python 高级绘图:从基础到进阶的可视化实践
在 Python 中,我们可以使用多种库来进行绘图,其中 matplotlib 是一个非常强大的绘图库。以下将介绍一些高级的绘图技巧和代码实现:
用户10354340
2024/10/07
990
Python实现办公自动化的数据可视化与报表生成
引言:在现代办公环境中,数据处理和报表生成是一项重要的任务。然而,手动处理大量数据和生成报表是一项繁琐且容易出错的工作。幸运的是,Python提供了强大的工具和库,可以帮助我们实现办公自动化,从而提高工作效率和准确性。本文将高效介绍如何使用Python进行数据可视化和报表生成,让您的办公工作更加顺利。
小白学大数据
2023/07/19
4780
Python Matplotlib库:基本绘图补充
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的博客 🍊个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 🥭本文内容:Python Matplotlib库:基本绘图补充 ---- Python Matplotlib库:基本绘图补充 1.引言 2.散点图 3.柱状图 4.火柴图 5.阶梯图 6.填充 ---- 1.引言 上期我们讲了 Matplotlib 库的基本语法,并以折线图为例,绘制了我们的第一幅图表。(参见:Python
小嗷犬
2022/11/15
6260
Python Matplotlib库:基本绘图补充
一篇文章学会Matplotlib
这个示例演示了如何使用Matplotlib绘制一个折线图。列表x和y分别包含水平和垂直坐标数据,并使用plt.plot()函数连接它们以绘制线条。添加标题、坐标轴标签和刻度标签可以提高图表可阅读性。
GeekLiHua
2025/01/21
5300
【Python篇】matplotlib超详细教程-由入门到精通(上篇)
matplotlib 是 Python 中最常用的绘图库之一。它提供了类似于 Matlab 的 API,方便用户创建各种类型的图表。我们主要使用其中的 pyplot 模块,它是绘制图表的核心工具。
半截诗
2024/10/09
2.3K0
【Python篇】matplotlib超详细教程-由入门到精通(上篇)
python---数据可视化篇
matplotlib是Python的基本绘图模块,包含了大量的工具。 我们可以使用matplotlib创建各种图像,包括简单的折线图、柱状图等,甚至是复杂的三维图像。 matplotlib模块里有一个非常方便的子模块:pyplot,我们之后要绘制的图像主要都是依赖于这个子模块~
阑梦清川
2025/02/24
2530
python---数据可视化篇
科研绘图与学术图表绘制:从入门到精通
Origin是一款强大的科研绘图软件,支持多种图表类型,数据处理和分析功能极为丰富。在这一部分,我们将详细介绍Origin的安装过程和基本设置,以确保您能够顺利运行软件。
海拥
2023/11/14
8710
猫头虎分享:Python库 Matplotlib 的简介、安装、用法详解入门教程
大家好,我是猫头虎!😸今天有粉丝问猫哥:“在进行数据可视化时,应该选择什么工具来绘制图表?”猫哥第一时间想到的就是Python中强大的数据可视化库——Matplotlib。这是一个功能非常强大的库,几乎涵盖了所有你能想到的图表类型。如果你是数据科学领域的新人或想深入了解Matplotlib的高级用法,那这篇文章就是为你准备的!
猫头虎
2024/08/29
1690
数据可视化的魔法:Matplotlib的基本用法
如果不能将数据可视化, 那么拥有的数据除了占用存储将毫无用处。所以将数据分析起来才能大放光彩, 也是海量数据存在的意义。python中有很多将数据可视化的模块, matplotlib是最基本的一个, 也是功能非常强大的绘图库,支持绘制各种类型的统计图表。以下是几种常见的统计图表,以及绘制方法及用例
不止于python
2023/09/18
2790
数据可视化的魔法:Matplotlib的基本用法
推荐阅读
相关推荐
【深度学习】 Python 和 NumPy 系列教程(十四):Matplotlib详解:1、2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档