手把手教你用Matplotlib完成数据可视化

【数据可视化入门】Python散点图全攻略:Matplotlib、Seaborn、Pyecharts实战代码大公开! 在数据分析的世界里,数据可视化是将复杂数据转化为直观图形的重要手段。今天,我们将手把手教你如何使用Python中的Matplotlib、Seaborn和Pyecharts三大库来绘制散点图,让你的数据展示更加生动有趣! 阅读详情

一、引言

Matplotlib是Python生态系统中最为核心和广泛使用的数据可视化库,它为用户提供了强大的二维图形绘制能力,其设计哲学在于以简洁的代码创建出具有出版物质量的静态、交互乃至动态的图表。

在功能上,Matplotlib不仅支持包括折线图、柱状图、散点图、直方图、饼图在内的多种基础图表类型,还允许用户对图表的每一个视觉元素——如坐标轴、图例、标签、线条、颜色和文本——进行像素级精度的细致控制。这种高度的可定制性使其能够满足从快速数据探索到复杂学术图表绘制的各类需求。 

作为许多其他高级可视化库(如Pandas、Seaborn)的底层引擎,Matplotlib构成了Python数据科学栈不可或缺的一环,是数据分析和科学研究领域进行有效沟通与洞察发现的必备工具。

二、 环境初始化与核心概念解析

(1)环境配置

在使用Matplotlib之前,需要先确保它已被安装在你的Python环境中。最常用的方法是使用pip包管理器

pip install matplotlib


#在Python社区,为了代码的简洁和一致性,大家普遍遵循一些导入惯例。
#Matplotlib的标准导入语句是:

import matplotlib.pyplot as plt
  • matplotlib 是主库,包含了所有构建块和功能。

  • pyplot 是一个子模块,它提供了一个类似于MATLAB的命令式接口,极大地简化了常见绘图任务的创建过程。你可以将其视为一个“快捷方式”集合。

#绘制线图和散点图
plot()

#绘制散点图
scatter()

#绘制垂直条形图和水平条形图
bar()

#绘制直方图
hist()

#绘制饼图
pie()

#绘制图像
imshow()

#创建子图
subplots()

三、图表元素的定制与美学提升

(1)核心信息标注

  • 标题:告诉别人这个图是关于什么的

  • 坐标轴标签:说明X轴和Y轴代表什么

  • 图例:当有多条线时,说明每条线是什么

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

fig, ax = plt.subplots()

ax.plot(x, y, label='正弦波')
ax.set_title('我的第一个图表')      # 加标题
ax.set_xlabel('时间')             # X轴标签
ax.set_ylabel('振幅')             # Y轴标签  
ax.legend()                      # 显示图例

plt.show()

(2)视觉样式设计

颜色、线型、标记符号与透明度的自定义配置

fig, ax = plt.subplots()

# 一条漂亮的蓝色虚线,带圆圈标记
ax.plot(x, y, 
        color='blue',      # 颜色
        linestyle='--',    # 线条样式:- 实线 -- 虚线 : 点线
        linewidth=2,       # 线条粗细
        marker='o',        # 数据点标记:o 圆圈 s 方块 ^ 三角形
        markersize=4,      # 标记大小
        alpha=0.7)         # 透明度(0-1之间)

plt.show()

(3)高效绘图实践

  • 使用内置样式库快速实现图表风格的专业化切换

# 查看所有可用样式
print(plt.style.available)

# 使用内置样式(放在最开头)
plt.style.use('seaborn-v0_8')  # 推荐这个,现代又专业

# 也可以用这些:
# plt.style.use('ggplot')      # R语言风格
# plt.style.use('seaborn-whitegrid')  # 白色网格

fig, ax = plt.subplots()
ax.plot(x, y, label='正弦波')
ax.set_title('用了样式的图表')
ax.set_xlabel('时间')
ax.set_ylabel('振幅')
ax.legend()

plt.show()

三、 基础图表类型的绘制与实践

(1)折线图:展现数据趋势与连续性变化

import matplotlib.pyplot as plt

# 简单例子:画一条线
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 5, 3]

plt.plot(x, y)  # 就这一行,折线图出来了!
plt.show()

(2)柱状图:进行类别间的比较分析

python
# 比较不同水果的销量
水果 = ['苹果', '香蕉', '橙子']
销量 = [15, 12, 8]

plt.bar(水果, 销量)  # 用bar()代替plot()
plt.show()

(3)散点图:探索变量间的相关性与分布模式

# 看学习时间和考试成绩的关系
学习时间 = [2, 5, 3, 8, 6, 1, 4]
考试成绩 = [65, 85, 70, 95, 80, 50, 75]

plt.scatter(学习时间, 考试成绩)  # 用scatter()
plt.show()

(4)直方图与箱线图:揭示数据集的分布特征与异常值

# 看班级成绩分布
成绩 = [75, 82, 65, 90, 78, 85, 92, 60, 72, 88]

plt.hist(成绩)  # 用hist()
plt.show()

#箱线图
plt.boxplot(成绩)  # 用boxplot()
plt.show()

(5)饼图与面积图:表达整体与部分的构成关系

# 看班级男女比例
labels = ['男生', '女生']
sizes = [25, 20]

plt.pie(sizes, labels=labels)  # 用pie()
plt.show()

五、 复杂布局

使用subplots方法创建与管理网格化布局

  • 基础多子图
import matplotlib.pyplot as plt

# 创建1行2列的子图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 4))

# 在第一个子图画折线图
ax1.plot([1, 2, 3, 4], [1, 4, 2, 3])
ax1.set_title('销售趋势')

# 在第二个子图画柱状图
ax2.bar(['A', 'B', 'C'], [30, 45, 25])
ax2.set_title('产品销量')

plt.tight_layout()
plt.show()
  • 2×2网格子图
# 创建2行2列的子图
fig, axs = plt.subplots(2, 2, figsize=(10, 8))

# 在四个子图上分别画图
axs[0, 0].plot([1, 2, 3], [1, 2, 1])
axs[0, 0].set_title('折线图')

axs[0, 1].scatter([1, 2, 3], [1, 2, 1])
axs[0, 1].set_title('散点图')

axs[1, 0].bar(['X', 'Y', 'Z'], [3, 1, 2])
axs[1, 0].set_title('柱状图')

axs[1, 1].pie([30, 70], labels=['A', 'B'])
axs[1, 1].set_title('饼图')

plt.tight_layout()
plt.show()

1. Matplotlib 数据可视化 Matplotlib 数据可视化 Day1 文章目录Matplotlib 数据可视化 Day1前言一、初识Matplotlib二、简单的绘图示例1.安装Matplotlib2.引入库及绘图三、Figure的组成四、绘图接口1.OO模式2.pyplot模式五、通用绘图模板总结 前言 主要参考资料 Datawhale开源资料、 Matplotlib用户指南 一、初识Matplotlib Matplotlib是一个Python 2D绘图库,用来绘制各种静态,动态,交互式的图表。 Matplotli 阅读详情

相关推荐

【python】数据可视化——matplotlib

matplotlib是一个强大的Python绘图库,用于创建高质量的静态、动态和交互式图表。它提供了广泛的绘图选项,适用于数据可视化、科学计算、工程绘图等多个领域。

urge的博客 2678

python-Matplotlib绘图库学习笔记

文章目录常用绘图操作中文乱码问题常用图形绘制散点图条形图直方图饼图 学习方式:(点击这里TP) [官网examples入门学习] https://matplotlib.org/examples/index.html https://matplotlib.org/galler.html 安装方式 pip install matplotlib 导入方式 import matplotlib.pyplot as plt 基础操作 plot(x,y,color='red',linestyle='

L_COMH的博客 797

告别专业软件!用QGIS+GDAL免费搞定S-57电子海图,附全套符号库和样式文件

本文详细介绍了如何利用免费开源工具QGIS和GDAL处理S-57电子海图,包括数据转换、符号库配置和专业可视化方案。通过实战指南,用户无需依赖昂贵的商业软件,即可实现从S-57到SHP的转换及专业级海图制作,特别适合预算有限的个人和小型机构。

weixin_33701294的博客 391

marker=‘o‘, linestyle=‘-‘, color=‘b‘ plt.plot画图参数含义

在matplotlib中使用plt.plot()画图时,你提供的参数marker='o', 和color='b'代表了绘制图形的不同属性。

Never Give Up 1359

中心对数比变换(Centered Log Ratio Transformation,CLR)的原理及scikit-bio介绍

中心对数比变换(Centered Log Ratio Transformation,CLR)是一种数据预处理方法,常用于成分数据分析领域。在成分数据中,各成分之间通常存在一定的约束关系,比如它们的和为固定值等,中心对数比变换可以有效地处理这种具有特殊约束的数据。官方文档scikit-bio是一个在Python3中处理生物数据的库成分统计 (skbio.stats.composition )模块中的,此函数将组合从Aitchison几何体转换到真实空间。这个clr。

RECORD LEARN PROGRESS 1万+

【系统架构设计师】2026年上半年真题论文:论高并发系统的设计与实践

本文围绕高并发系统架构设计展开,重点论述了电商秒杀系统的实战经验。文章采用"痛点-解决方案-效果"的逻辑结构,从缓存设计、异步处理、限流降级、数据库优化等6个维度详细阐述了应对高并发的技术策略。其中,重点介绍了多级缓存体系、基于消息队列的异步处理机制和微服务拆分实践,并辅以实际案例说明如何解决超卖、缓存雪崩等典型问题。全文强调高并发设计需要系统性思维,通过空间换时间、异步换吞吐、横向换能力等原则,最终实现系统吞吐量从500TPS提升至20000TPS的性能突破。

数据知道的博客 1157

Matplotlib用法总结

import numpy as np import pandas as pd import matplotlib.pyplot as plt # 查看style都有什么风格 # Windows电脑Matplotlib 支持中文 plt.rcParams['font.sans-serif'] = ['SiHei'] # 使图形中的中文正常编码显示 plt.rcParams['axes.unicode_minus'] = False # 使坐标轴刻度表签正常显示正负号 # mac电脑正常显示中文 .

qq_32752467的博客 521

PCL——KITTI数据集.bin文件转.pcd并可视化【2025最新版】

kitti数据集中的bin格式点云主要存储的字段为:`x`、`y`、`z`、`intensity`,对应于PCL中的PointXYZI。因此,只需将bin中的属性信息读取出来放入`PointXYZI`即可。本文给出简单易用的实现代码。博客长期更新,本文最近更新时间为:2025年1月11日。

点云侠的博客 3956

plt.scatter()函数解析(最清晰的解释)

plt.scatter()函数用于生成一个scatter散点图。 matplotlib.pyplot.scatter(x, y, s=20, c='b', marker='o', cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, h...

种树最好的时间是10年前,其次是现在!!! 8万+

Ardupilot二次开发(二):自定义mavlivk消息

在下面的文件添加自定义消息的xml定义然后编译固件,会生成相应的消息头文件。

超维空间科技的博客 2313

DataCastle-租金预测

ID:编号;时间:房屋信息采集的时间;小区名:房屋所在小区,已脱敏处理;小区房屋出租数量:小区出租房屋数量,已脱敏处理;楼层:0、1、2分别表示楼层低,中,高;总层数:房屋所在建筑的总楼层数,已脱敏处理;房屋面积:房屋面积数值,已脱敏处理;房屋朝向:房屋的朝向;居住状态:房屋的居住状态,表示是否已出租或居住中,已脱敏处理;卧室数量:户型信息,数字表示卧室的个数;卫的数量:户型信息,数字表示卫生间的个数;厅的数量:户型信息,数字表示厅的个数;

优快云 精品推荐 3457

Python_plt_marker=‘o’会创建散点图吗?

在Python的matplotlib库中,使用’o’作为标记样式(marker style)确实可以创建类似散点图的效果,但仅仅设置标记样式并不足以定义一个散点图。使用scatter()函数的好处是它提供了更多的配置选项,比如可以单独设置每个点的颜色、大小等,而且它更直观地表达了你的意图,即创建一个散点图。虽然使用plot()函数并设置标记样式为’o’可以产生类似散点图的效果,但使用scatter()函数是创建散点图的更正式和推荐的方式。

- 362

mojoPortal 路径穿越漏洞复现(CVE-2025-28367)(附脚本)

 在 mojoPortal CMS 版本 <=2.9.0.1 中发现了一个导致 ViewState 反序列化的目录遍历漏洞。通过利用此问题,未经身份验证的攻击者可以泄露 Web 根目录中的敏感文件,包括应用程序的文件。此配置文件包含用于验证和解密 ViewState 数据的文件。知道此密钥后,网络攻击者可以构建恶意 ViewState 有效负载,从而导致在底层服务器上执行远程代码。(CVE-2025-28367)

iSee857的博客 500

手把手教你用Matplotlib进行数据可视化

导读:Matplotlib是建立在NumPy数组上的一个多平台数据可视化库。在2002年,约翰·亨特(John Hunter)提出Matplotlib,最初的构思是设计为IPython的...

大数据 3992

基于YOLOv11的手术器械计数系统:从数据集构建到Web应用部署

m2cai16-tool数据集:包含15种腹腔镜手术器械的标注图像Cholec80数据集:包含80个胆囊切除手术视频,标注了7种器械SurgicalTools数据集:包含超过10,000张手术器械图像,涵盖21类常见器械手术剪(Scissors)止血钳(Hemostat)持针器(Needle Holder)手术刀(Scalpel)镊子(Forceps)拉钩(Retractor)吸引器(Suction)

YOLO 396

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Matplotlib入门学习:认识数据可视化

【📈数据可视化启航📊】🚀跃入数据世界的奇妙旅程,让🌈Matplotlib🌈为您揭开数据可视化的神秘面纱!📚本文将带您从零开始,一步步探索Matplotlib的魔法世界!🔮助您轻松驾驭数据可视化,让数据说话,故事跃然纸上!🌟无论您是想为报告增色,还是为项目添彩,Matplotlib都是您不可或缺的好帮手!💼✨快来加入我们,一起开启数据可视化的精彩之旅吧!🚀🌈

创作高质量博文,分享知识,共同进步! 4826

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

matplotlib中cmap_手把手教你用Matplotlib进行数据可视化

导读:Matplotlib是建立在NumPy数组上的一个多平台数据可视化库。在2002年,约翰·亨特(John Hunter)提出Matplotlib,最初的构思是设计为IPython的一个补丁,以便能够从命令行启用交互式MATLAB样式绘图。近几年,更新、更炫酷的工具(例如,R语言中的ggplot和ggvis)层出不穷,最终取代了Matplotlib,可是Matplotlib仍然是一个...

weixin_42525264的博客 1874

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

手把手教你学Python之Matplotlib绘图(一文掌握数据可视化库-Matplotlib)

详细介绍Python中数据可视化第三方库Matplotlib的使用,包括绘图基础以及一些经典图的绘制,例如线形图、条形图、直方图、饼状图、散点图以及词云图等。

手把手教你学编程 3975

Matplotlib数据可视化

我们可以使用 pyplot 中的 bar() 方法来绘制柱形图。

Lmx070411的博客 1822

Matplotlib数据可视化从入门到进阶

在数据分析与机器学习中,我们经常要用到大量的可视化操作。一张制作精美的数据图片,可以展示大量的信息,一图顶千言。而在可视化中,Matplotlib算得上是最常用的工具。Matplotlib 是 python 最著名的绘图库,它提供了一整套 API,十分适合绘制图表,或修改图表的一些属性,如字体、标签、范围等。Matplotlib 是一个 Python 的 2D 绘图库,它交互式环境生成出版质量级别的图形。通过 Matplotlib这个标准类库,开发者只需要几行代码就可以实现生成绘图,折线图、散点图、柱状图、

佛系更新 7001

Python数据可视化库Matplotlib

前言 python的数据可视化库,Matplotlib,是一个Python的2D绘图库。通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 一点一点画一张图 首先我们有一组数据如下: 我们可以看到,这组数据有日期,还有日期对应的值,因为这组数据中的日期格式不是标准的日期格式 那么我们对数据做一下转换,取1948年的整年的数据,来进行一个绘图操作 im...

nine_mink的博客 2701

实验十六 matplotlib数据可视化

基于panda的matplotlib数据可视化

qq_52973916的博客 1万+

Matplotlib-数据可视化详解

可视化介绍数据可视化是指直观展现数据,它是数据处理过程的一部分。把数值绘制出来更方便比较。借助数据可视化,能更直观地理解数据,这是直接查看数据表做不到的数据可视化有助于揭示数据中隐藏的模式,数据分析时可以利用这些模式选择模型可视化库介绍基于Matplotlib 绘制静态图形pandasseaborn基于JS (javaScript)plotly状态接口和面向对象导包# 使用Matplotlib需要导入pyplot# Matplotlib.pyplot 包含一系列绘图函数的相关函数。

2201_75415080的博客 2326

Matplotlib(一)- 数据可视化与Matplotlib

本文介绍了数据可视化的基本概念与常用图表类型,并总结了Python中主流可视化工具库的特点。数据可视化通过图形化呈现数据规律与趋势,核心流程包括数据读取、图表选择、绘制与保存。常见图表如折线图、柱形图、散点图等各有适用场景,能直观展示趋势、对比、分布等不同数据特征。

zcs2312852665的博客 1201
上一篇: Spark与Hive数据读取全解析:从底层RDD到高效DataFrame
xiaolin030
博客等级 码龄1年 7粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值