数据处理三剑客——Matplotlib库

Matplotlib | 一文搞定Matplotlib从入门到实战演练! Matplotlib 是一个 Python 的 2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。官网https://matplotlib.org/\qquad学习Matplotlib 可让数据可视化,更直观的真实给用户。使数据更加客观、更具有说服力。Matplotlib是Python的库,又是开发中常用的库。 阅读详情

Matplotlib是Python中最基础且广泛使用的数据可视化库,提供了丰富的绘图功能及高度自定义的图形生成能力。其核心优势在于:

  1. 多样的绘图类型:支持折线图、散点图、柱状图、饼图、等高线图等数十种可视化类型。
  2. 灵活的定制能力:提供细粒度的图形元素控制,可调整字体、线条、颜色、标注等所有视觉属性。
  3. 多后端支持:兼容多种输出格式(PNG、PDF、SVG等)及交互环境(Jupyter、Qt、GTK等),满足不同场景的展示需求。

一、Matplotlib库的安装

#pip方式安装Matplotlib库
#默认安装最新版本
pip install matplotlib

#安装指定的版本
pip install matplotlib==3.0.3

二、Matplotlib模块的基础应用

Matplotlib模块是一个第三方绘图库,在日常绘图中经常使用它的一个子库Pyplot,能够方便的进行2D图表的绘制,并且提供了与MATLAB(一个数学计算软件,统一了用于一维、二维与三维数值积分的函数)类似的绘图API。

# 导入Matplotlib模块的中的Pyplot子库
import matplotlib.pyplot as plt

Pyplot库中常用的绘制图表函数如下所示:

  1. plot():用于绘制线图或散点图(通过样式参数区分),是表示趋势和连续数据的常用方法。
  2. bar():用于绘制条形图(或称柱状图),支持垂直和水平两种方向,适用于分类数据的比较。
  3. hist():用于绘制直方图,直观展示数据的分布状况和频数。
  4. pie():用于绘制饼图,表现各部分占整体的比例关系。
  5. scatter():用于绘制散点图,分析两个变量之间的相关性或分布。
  6. imshow():主要用于显示图像数据,可绘制二维数组表示的灰度图、彩色图,也常用于可视化热力图、矩阵或地理信息数据。
  7. subplots():这是创建子图的核心函数。通过指定行数、列数等参数,可以灵活控制子图的布局和尺寸,实现在单一窗口中同时排列和显示多个图表。
# Pyplot子库中用于绘制各类图表的示例代码

# 导入所需模块

import numpy as np

import matplotlib.pyplot as plt

import matplotlib

# 设置Matplotlib正常显示中文和负号

matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体为黑体

matplotlib.rcParams['axes.unicode_minus'] = False  # 解决保存图像时负号'-'显示为方块的问题



# 创建一个3x2的子图网格

fig, axs = plt.subplots(3, 2, figsize=(10, 10))



# 第一行第一列绘制线图

# 创建坐标数据

x = np.linspace(0, 10, 100)#点的x坐标,0-10的等差数列,个数为100,包含0不包含10

y = np.sin(x)#点的y坐标,根据x数据计算出符合正弦函数的y值

axs[0, 0].plot(x, y, label='sin(x)')

axs[0, 0].legend()#设置图例

axs[0, 0].set_title('线图')#设置图表的标题

axs[0, 0].set_xlabel('x')#设置x轴的标签名称

axs[0, 0].set_ylabel('sin(x)')#设置y轴的标签名称



# 第一行第二列绘制散点图

# 创建散点的坐标数据

x = np.random.rand(50)#散点的x轴坐标

y = np.random.rand(50)#散点的y轴坐标

axs[0, 1].scatter(x, y)

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



# 第二行第一列绘制条形图

# 创建垂直条形图数据

categories = ['A', 'B', 'C', 'D']#条形的名称,x轴数据

values = [23, 45, 56, 78]#条形的值,y轴数据

axs[1, 0].bar(categories, values)

axs[1, 0].set_title('条形图')

axs[1, 0].set_xlabel('名称')

axs[1, 0].set_ylabel('数量')



# 第二行第二列绘制直方图

# 构建随机的标准正态分布数组,数组的元素个数为1000个

data = np.random.randn(1000)

axs[1, 1].hist(data)

axs[1, 1].set_title('直方图')



# 第三行第一列绘制饼图

# 创建饼图的数据

sizes = [15, 30, 45, 10]#每个块的大小

labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']#每个块的名称

colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']#每个块的颜色

explode = (0.1, 0, 0, 0)#块的显示方式,只让第一个“片”突出

axs[2, 0].pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=140)

axs[2, 0].axis('equal')  # 确保饼图是圆形的

axs[2, 0].set_title('饼图')



# 第三行第二列绘制热力图

data = np.random.rand(10, 10)

im=axs[2, 1].imshow(data, cmap='hot')

fig.colorbar(im)  # 显示热力柱

axs[2, 1].set_title('热力图')



# 显示整个图形,并自动调整子图参数以填充整个图像区域

plt.tight_layout()

# 显示绘制的图像

plt.show()

三、标记的设置

一般可以使用plot()方法中的marker参数来设置标记符号

标记

说明

符号

"."

marker参数设置为该标记后,数据点会显示为一个圆点

"^"

marker参数设置为该标记后,数据点会显示为一个向上的实心三角(中心点在标记中心)

"1"

marker参数设置为该标记后,数据点会显示为一个向下的三叉符号(中心点在标记中心)

"2"

marker参数设置为该标记后,数据点会显示为一个向上的三叉符号(中心点在标记中心)

"8"

marker参数设置为该标记后,数据点会显示为一个正八边形(中心点在标记中心)

"s"

marker参数设置为该标记后,数据点会显示为一个正方形(中心点在标记中心)

"X"

marker参数设置为该标记后,数据点会显示为乘号(垂填充)(中心点在标记中心)

"D"

marker参数设置为该标记后,数据点会显示为一个菱形(标准菱形)(中心点在标记中心)

"d"

marker参数设置为该标记后,数据点会显示为一个菱形(细长菱形)(中心点在标记中心)

绘图标记不仅可以通过marker参数进行设置,还可以通过fmt参数来进行设置,只是fmt参数的设置比较特殊,可以同时接受三个参数,分别用来设置标记的形状、线的样式、颜色。fmt参数的语法代码如下所示:

# fmt参数语法代码

fmt = '[marker][line][color]'
  1. 第一个值marker表示标记的形状,可以设置的值可以参照上面表中字符串类型的值。
  2. 第二个值line表示线的样式,'-'设置线的样式为实线;':'设置线的样式为虚线;'--'设置线的样式为破折线;'-.'设置线的样式为点划线。

第三个值color表示设置的颜色(应用与绘图标记与线),此种方式设置的颜色仅能使用内置的颜色值,例如,'r'表示红色等。

颜色标记

说明

'r'

红色

'g'

绿色

'b'

蓝色

'c'

青色

'm'

品红

'y'

黄色

'k'

黑色

'w'

白色

fmt参数方式设置绘图标记的示例代码如下所示:

# fmt方式设置绘图标记

# 创建数据点的y轴坐标

ypoints = np.array([6, 2, 13, 10])



plt.plot(ypoints, '^:r')

plt.show()

四、绘图线的设置

plot()方法在绘图过程中不仅可以对绘图标记进行自定义设置,也可以对绘图线进行自定义设置(包括线的大小、类型、颜色等)。

  1. ls:该参数是linestyle的简写,用来进行绘图线样式的设置。参数值为“solid”表示线为实线,简写方式为“_”;参数值为“dotted”表示线为点虚线,简写方式为“:”;参数值为“dashdot”表示线为点划线,简写方式为“-.”;参数值为“dashed”表示线为破折线,简写方式为“--”;参数值为“None”表示不画线,简写方式为“ ”。
  2. c:该参数是color的简写,用来设置绘图线的颜色。可以使用默认的颜色值(包含“r”、“g”、“b”等值),也可以其它的颜色格式(rgb值、十六进制颜色值等)。
  3. lw:该参数是linewidth的简写,用来进行绘图线宽度的设置。值可以设置为整数或者浮点型。

对绘图线进行自定义设置的具体示例代码如下所示:

# 绘图线的自定设置示例

import matplotlib.pyplot as plt

import numpy as np



# 创建数据点的坐标数据

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

y = np.sin(x)

y2=np.cos(x)



# 自定义线条样式:红色、虚线、线宽为2 sinx

plt.plot(x, y, c='r', ls='--', lw=2)



# 自定义线条样式:绿色、点划线、线宽为2 cosx

plt.plot(x, y2, c='g', ls='-.', lw=2)



# 显示图形

plt.show()

五、matplotlib中绘图对象的布局

在matplotlib中绘图对象可以划分为几层,其中最外层是Figure对象,可以看作一个画板对象,所以的内容都会绘制在这个“画板”上,一个Figure对象能够包含所有的子Axes对象。内层是Axes对象,是一个子图对象(可以理解为一个坐标系),由坐标轴、坐标轴标签、标题、绘图区域几部分组成。

Python库matplotlib的使用总结 matplotlib库在Python中用于二维图表的绘制,一般用于基于程序的数据分析方向。 阅读详情

相关推荐

Python学习之-matplotlib详解

用途广泛: Matplotlib 被广泛用于数据可视化,支持多种图表类型,例如线图 (line plots)、散点图(scat-ter plots)、条形图 (bar charts)、饼图 (pie charts)、直方图 (histograms)、箱线图 (box plots)、热图 (heatmaps)、子图 (subplots) 等。

Summer的博客 4856

python——matplotlib的用法详解

Matplotlib是Python生态系统的一个重要组成部分,是用于可视化的绘图库,它提供了一整套和matlab相似的命令API和可视化界面,可以生成出版质量级别的精美图形,Matplotlib使绘图变得非常简单,在易用性和性能间取得了优异的平衡。安装成功后,即可以在Python中像使用其它库一样导入和使用Matplotlib,而无需更多文件的配置,通常我们将其导入后使用别名mplMatplotlib的配置更多的用于修改绘制图形的默认样式,Matplotlib。

longhaierwd的博客 3万+

Python数据分析:9大开源库替代商业软件

数据分析是现代商业决策的核心技术,其核心在于高效处理海量数据并提取有价值信息。开源工具通过模块化设计解决了传统商业软件笨重昂贵的问题,Python生态中的Pandas、NumPy等库已成为行业标准。这些工具基于矢量化计算原理,相比传统循环运算可提升百倍性能,特别适合金融分析、电商运营等需要实时处理大规模数据的场景。以Pandas和Scikit-learn为代表的开源库不仅提供数据处理、机器学习等完整功能链,其活跃的社区支持更能快速解决实践中的各类问题。本文通过电商数据分析案例,展示如何用这些免费工具构建从数

weixin_29055699的博客 279

【机器学习基础 2】matplotlib库

matplotlib是一个用于绘制各种类型图表的Python绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。它支持各种不同的图表类型,包括线图、散点图、条形图、饼图等。

yewanyuan的博客 6086

Python的那些事第十五篇:数据分析中的“三剑客”NumPy、Pandas与Matplotlib

在数据分析的世界里,有三位“大侠”常常携手并肩,共同应对各种复杂的数据挑战。它们就是NumPy、Pandas和Matplotlib。这三位“大侠”各怀绝技,相互配合,让数据分析变得轻松又有趣。今天,就让我们走进它们的“江湖”,一探究竟。

weixin_74149145的博客 2048

深入掌握人工智能三剑客:Numpy、Pandas和Matplotlib

在开始使用Numpy之前,需要先确保库已经被安装在你的系统中。推荐使用pip进行安装,运行以下命令:安装完成后,Numpy的导入方式十分简单,在你的Python脚本中,使用以下代码:Pandas 是一个开源的 Python 数据分析库。其设计目的是为数据分析工作提供快速、灵活和表达能力丰富的数据结构,以及这些数据结构的工具,使“关系”或“标签”数据的处理更加容易和直观。Pandas 可以轻松地进行数据导入、清洗、分析和可视化。在开始使用 Pandas 前,需要先安装这个库。

weixin_28840811的博客 1289

python入门三剑客怎么样_python三剑客

广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!一、numpy简介numpy是高性能科学计算和数据分析的基础包,机器学习三剑客之一。 numpy库中最核心的部分是ndarray 对象,它封装了同构数据类型的n维数组。 部分功能如下:ndarray,具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组。 用于对整组数据进行快速运...

weixin_39607935的博客 1112

RPG MV游戏数据修改指南:从JSON解析到脚本进阶

游戏数据修改是游戏开发与逆向工程中的常见实践,其核心原理在于解析和操作游戏资源文件。许多现代游戏引擎采用结构化数据格式(如JSON)存储游戏配置,这为外部修改提供了可能。通过理解文件结构、数据格式与游戏逻辑的关联,开发者或爱好者可以调整游戏平衡、修复问题或实现个性化定制,这不仅能深化对游戏设计机制的理解,也具备实际的技术学习价值。本文以基于Web技术栈的RPG Maker MV(RPG MV)引擎为例,其游戏数据多以明文JSON存储,结构清晰。文章将具体阐述如何安全地修改角色属性、物品效果、敌人数据及技能公

weixin_29001419的博客 404

python编程三剑客pdf 52pojie,python编程三剑客怎么样

大家好,给大家分享一下python编程三剑客pdf 52pojie,很多人还不知道这一点。可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。

2401_84668032的博客 695

从SRIOV到SIOV:PCIe虚拟化技术下一代革命

如果说SR-IOV是过去十年PCIe虚拟化的“标杆方案”,那SIOV就是为超大规模云数据中心、AI集群量身打造的“破局者”——它解决了SR-IOV难以逾越的扩展性瓶颈,同时平衡了性能、成本与生态兼容性。今天就从“为什么需要SIOV”到“SIOV到底强在哪”,再到“未来要解决什么问题”,做一次全方位深度拆解。

存储随笔 2560

四旋翼滑模控制:从理论到Simulink实现

本文深入探讨了四旋翼滑模控制的理论与Simulink实现,对比了其相较于PID控制在抗干扰和鲁棒性方面的显著优势。文章详细介绍了从精确动力学建模、内外环滑模控制器设计到指令解算的完整流程,并分享了Simulink仿真搭建、参数调试及抗扰性能验证的实战经验,帮助工程师掌握在复杂环境下提升四旋翼稳定性的进阶技能。

weixin_29163581的博客 375

python五角星教程_绘制五角星_清华尹成python入门教程_少儿编程视频-51CTO学院

此课程与《清华编程高手.尹成.带你实战python入门》大体相同,只需购买其中的一门课程。本课程由清华大学尹成老师录制,课程的特色在于讲解原理的同时引入了每个程序员都热衷的黑客技术。python是一种跨平台的计算机程序设计语言,是一种面向对象的动态类型语言,最初被设计为编写自动脚本,四折版本的更新和语言功能的添加,越来越多被用于独立的、大型的项目的开发。本课程系python入门教程。清华编程高手尹...

weixin_39552179的博客 468

基于STM32的工业I/O模块硬件电路实现

深入解析基于STM32的工业I/O模块硬件电路实现,涵盖关键电路设计与信号处理,突出硬件电路稳定性和工业级可靠性,适合嵌入式开发者参考。

weixin_35835018的博客 455

python金融数据挖掘编程题_8金融数据简单绘图_清华编程高手尹成带你实战python数据分析_数据挖掘与分析视频-51CTO学院...

清华编程高手尹成带你实战python数据分析数据分析三剑客numpy pandas MatplotlibPython作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用Python便捷地开展与数...

weixin_35759767的博客 209

7.1华为OD机试真题 新系统 - 奇偶三数之和 (Java/Py/C/C++/Js/Go)

7.1华为OD机试真题 新系统 - 奇偶三数之和 (Java/Py/C/C++/Js/Go)

算法大师! 445

【基础演练】Playwright 极简复习:作为 AI-RPA 底座的 Playwright 核心用法

摘要: 2026年,Playwright已从测试工具升级为AI-RPA标准执行底座,周下载量超3300万,被browser-use等AI Agent项目广泛采用。其核心架构通过Playwright Server实现多浏览器协议适配,支持远程连接与高并发隔离(BrowserContext)。自动等待机制显著提升稳定性,但高频交互场景可能需直接使用CDP协议。Playwright凭借跨浏览器兼容性、轻量级隔离和微软官方支持,成为测试、RPA和AI Agent领域的事实标准,未来将主导对话式自动化市场。

ZDQ58818的博客 237

python编程三剑客pdf 52pojie,python编程三剑客pdf下载

大家好,本文将围绕python编程三剑客pdf百度云展开说明,python编程三剑客pdf 52pojie是一个很多人都想弄明白的事情,想搞清楚python编程三剑客pdf下载需要先了解以下几个事情。Source code download: 本文相关源码这篇文章主要介绍了python编程三剑客pdf 52pojie,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下判断小猫杂交后的性状python。在Python数据分析的世界里,有三个模块被誉为"数据

2301_81900494的博客 571

回声消除AEC初探

那段保留即可——在播放期间把麦克风关闭(软件层面的 mute),同样能根除回声,只是会失去“一句话期间仍能捕获背景噪声”的能力。如果还有更细节的需求(比如多语言 TTS、实时流式 ASR),欢迎继续交流。的完整示例,可直接拷贝、改造、集成到你现有的 LLM‑TTS 对话系统中。实际效果取决于用户设备的硬件与驱动,若仍有回声,可让用户佩戴。把扬声器信号(把播放音频拷贝给 AEC)从麦克风流中减去。:TTS 播放的声音被同一个麦克风再次捕获,导致声学回声。三种实现示例,帮助你快速落地。,几乎可以消除所有回声。

NLP与推荐算法 571

Python 数据分析三剑客之 Matplotlib(五):散点图的绘制

小黄人番外短片合集 — 第11集【Evil Minion Animation Test 邪恶小黄人的愤怒测试】 Matplotlib 系列文章(持续更新中): 《Python 数据分析三剑客之 Matplotlib(一):初识 Matplotlib 与其 matplotib...

BOB'S BLOG 3260

26、特洛伊木马:威胁与防范

本文详细介绍了多种常见的特洛伊木马,包括RegForm、ProMail和远程访问特洛伊木马(RATs),并分析了其工作原理与危害。重点讲解了著名RATs如Back Orifice、SubSeven和The Thing的技术特点,揭示了黑客编写特洛伊木马的常用语言与方法。同时,提供了有效的防范策略,如谨慎获取软件、使用回滚程序、杀毒软件、防火墙及反特洛伊木马程序,并通过流程图展示了防御机制。旨在帮助用户识别威胁并加强系统安全防护。

e3f4g5的博客 88

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

matplotlib:python数据处理三剑客之一

1.基本使用 import numpy as np import matplotlib.pyplot as plt import pandas as pd # 生成一系列x x = np.linspace(-1, 1, 50) # 生成对应的y y1 = 2 * x +1 y2 = x ** 2 # 传入对应的x和y,调用plot方法,绘制图像 # plot会将所有的点连起来 plt....

CWG2017的博客 913

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python常用数据处理库全解析

1. **核心数据处理库**: - NumPy: 数值计算基础库,提供高性能多维数组对象 - Pandas: 数据分析和操作库,提供DataFrame等数据结构 - SciPy: 科学计算库,建立在NumPy之上2. **数据可视化库**: - Matplotlib: 基础绘图库 - Seaborn: 基于Matplotlib的统计绘图库 - Plotly: 交互式可视化库 - Bokeh: 交互式可视化库 - Altair: 声明式统计可视化库3. **机器

weixin_40266856的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数据分析三剑客numpy,pandas,matplotlib学习总结

numpy,pandas,matplotlib可谓是数据分析的好伙伴,对于处理庞大数据有奇效,奇思妙想让我们的开发起飞我个人理解numpy的作用是读取简单的数据型数据,再对数据进行各种各样的操作;pandas相比于numpy 可以读取的数据就不局限与数据型,文本型,字符串型都可以,同时可以插入行和列的表头;matplotlib可以将处理好的数据可视化的展现出来

2302_77423323的博客 1610

数据分析三剑客-Matplotlib

数据分析三剑客通常指的是在Python数据分析领域中,三个非常重要的工具和库:Pandas、NumPy和Matplotlib。Pandas主要负责数据处理和分析,NumPy专注于数值计算和数学运算,而Matplotlib则负责数据可视化。这三个库相互补充,共同构成了Python数据分析的强大工具集。在数据处理、数值计算和数据可视化方面各自扮演着不可或缺的角色。

xinglun88的专栏 750
上一篇: 数据处理三剑客——Pandas
下一篇: 错题智能识别分析项目的开发
一砚墨白
博客等级 码龄1年 30粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值