目录

前言

Matplotlib 简介

快速入门

图形结构解剖

常用绘图函数

子图与布局

单行多列子图:

网格布局:

自定义位置:

样式与标注

中文字体与科学计数

图例、网格、坐标轴

动态图与动画

三维绘图

常见问题与技巧


前言


Matplotlib 是 Python最基础也是最强大的绘图库之一,它是科学计算、数据可视化和工程模拟中最常见的可视化工具。本教程将系统性地介绍 Matplotlib 的用法,从基础的绘图函数,到子图、样式、动画、3D 绘图等高级用法,适合所有希望精通 Python 绘图的人。

Matplotlib 简介

Matplotlib 是一个 Python 2D 绘图库,可以生成出版质量级别的图形。

  •  它可以与 NumPy、Pandas、SciPy 配合使用
  •  默认画布是静态图(与 MATLAB 类似)
  •  支持动态图(matplotlib.animation)

  

安装方式:

pip install matplotlib

导入:

import matplotlib.pyplot as plt

快速入门

绘制正选函数,如下所示。

import numpy as np
import matplotlib.pyplot as pltx = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)plt.plot(x, y)
plt.title('正弦函数')
plt.xlabel('x')
plt.ylabel('sin(x)')
plt.grid(True)
plt.show()

图形结构解剖

Matplotlib 绘图的底层逻辑分为三个核心对象:

你可以使用面向对象方式明确控制:

fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('对象式绘图')

常用绘图函数

  • plot() 折线图(默认)
  • scatter() 散点图
  • bar() 柱状图
  • hist() 直方图  
  • boxplot() 箱型图 
  • fill_between() 区域图
  • imshow() 图像显示(灰度图)
  • contour() 等高线

  

子图与布局

单行多列子图:

fig, axs = plt.subplots(1, 3, figsize=(12, 4))

网格布局:

fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[1, 1].bar([1,2,3], [3,4,5])

自定义位置:

from matplotlib.gridspec import GridSpec

样式与标注

 线型:'-', '--', ':'
  
 颜色:'r', 'g', '#3366cc'
  
 标记:'o', '^', 's'
  

plt.plot(x, y, linestyle='--', color='red', marker='o')

中文字体与科学计数

中文显示:

plt.rcParams['font.family'] = 'SimHei'  # 或 'Microsoft YaHei'

科学计数法:

ax.ticklabel_format(style='sci', axis='y', scilimits=(0,0))

图例、网格、坐标轴

plt.legend(loc='best')
plt.grid(True)
plt.xlim(0, 10)
plt.ylim(-1, 1)

动态图与动画

使用 `FuncAnimation`:

from matplotlib.animation import FuncAnimation

适用于波动、物理模拟、实时数据更新等场景。

三维绘图

使用 `mpl_toolkits.mplot3d`:

from mpl_toolkits.mplot3d import Axes3D
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z)

常见问题与技巧

  • 图像太小?试试 figsize=(12,6)

  

  • 中文乱码?加上 plt.rcParams['font.family']

  

  • 动画失效?确认调用 plt.show() 或保存 ani.save()

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/910058.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/910058.shtml
英文地址,请注明出处:http://en.pswp.cn/news/910058.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java基础算法】1.相向指针练习

📘博客主页:程序员葵安 🫶感谢大家点赞👍🏻收藏⭐评论✍🏻 一、两数之和 Ⅱ(167) 1.1 题目介绍 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 nu…

“开放原子园区行”太原站:openKylin以开源之力,赋能产业发展

在数字化与智能化浪潮驱动下,开源技术已成为全球科技创新与产业升级的核心引擎,并为培育新质生产力开辟关键路径。为加速开源生态建设,赋能区域经济高质量发展,由开放原子开源基金会、山西省工业和信息化厅、山西转型综合改革示范…

【Elasticsearch】自定义相似性算法

在 Elasticsearch 中,可以通过自定义相似度算法来优化搜索结果的相关性。以下是几种常见的自定义相似度算法的方法: 1. 使用内置相似度算法 Elasticsearch 默认使用 BM25 算法,但也可以切换到其他内置的相似度算法,如 TF-IDF 或布…

【对比】DeepAR 和 N-Beats

1. DeepAR 1.1 核心思想 提出者:亚马逊(Amazon)团队于2018年提出。目标:针对多变量时间序列进行概率预测(Probabilistic Forecasting),输出预测值的分布(如均值、方差、置信区间&a…

Spring Boot单元测试终极指南:从环境搭建到分层测试实战

Spring Boot测试终极指南&#xff1a;从环境搭建到分层测试实战 掌握MockMvc与分层测试策略&#xff0c;让你的代码质量提升一个维度 一、环境搭建&#xff1a;Maven依赖深度解析 Spring Boot测试的核心依赖在pom.xml中配置如下&#xff1a; <dependencies><!-- 核心…

卷积类型总结

1. 标准卷积 (Convolution) 原理&#xff1a; 一个包含 K 个滤波器的卷积层&#xff08;每个滤波器大小为 FxF x C_in&#xff09;在输入特征图上滑动。在每个位置&#xff0c;滤波器与输入图像的局部区域进行逐元素相乘再求和&#xff08;点积运算&#xff09;&#xff0c;得到…

HP iLO使用实例:Integrated Lights-Out

文章目录 参考名词解释iLODMTF SMASH CLP命令HP提供的命令VSPBIOS启动顺序BIOS指令启动时报的电源错误如果ilo登陆不上去参考 ilo命令 https://support.hpe.com/hpesc/public/docDisplay?docId=c03334058 名词解释 iLO 从字面理解:Integrated Lights-Out,就是整合灯出;…

【前端隐蔽 Bug 深度剖析:SVG 组件复用中的 ID 冲突陷阱】

前端隐蔽 Bug 深度剖析&#xff1a;SVG 组件复用中的 ID 冲突陷阱 创建时间: 2025/6/20 类型: &#x1f50d; Bug 深度分析 难度: ⭐⭐⭐⭐⭐ 高级 关键词: SVG、ID 冲突、Vue 组件、隐蔽 Bug、技术分析 &#x1f4d6; 引言 在前端开发的世界里&#xff0c;有一类 Bug 特别令…

IDEA 中 Tomcat 部署 Java Web 项目(Maven 多模块 非 Maven 通用版)

引言 Java Web 开发中&#xff0c;Tomcat 是最常用的 Servlet 容器&#xff0c;而项目类型通常分为 Maven 管理&#xff08;依赖自动处理、多模块聚合&#xff09; 和 非 Maven 纯手工管理&#xff08;手动引入 jar 包、配置项目结构&#xff09;。本文覆盖 两种项目类型 的 T…

当建筑学会“行走”:MiC建筑如何重塑医疗空间

当塔吊林立的工地被智能化工厂取代&#xff0c;当混凝土现浇的轰鸣被精密模块的无声拼接覆盖&#xff0c;建筑行业正经历着自钢筋混凝土革命以来最深刻的范式转移。模块化集成建筑&#xff08;MiC&#xff09;技术&#xff0c;这场以“制造组装”为核心的新型工业化浪潮&#x…

计算机网络八股第二期

计算机网络八股第二期 1.讲一讲从输入网址到网页显示之间发生了什么&#xff08;从网络的角度&#xff09; 想想一下你从网店买一本书&#xff0c;从输入网址到网页显示其实和你从网店买一本书差不多&#xff0c;网店发给你的是实体而网络传输的是文字&#xff0c;图片等等资…

FPGA基础 -- Verilog 的值变转储文件(VCD:Value Change Dump)

Verilog 的“值变转储文件&#xff08;VCD&#xff1a;Value Change Dump&#xff09;”&#xff0c;这是一项在仿真调试中至关重要的技术&#xff0c;可以帮助你“看见”RTL中每个信号随时间的变化过程。 一、什么是 Verilog 的值变转储文件&#xff08;VCD&#xff09; VCD …

流水灯芯片74HC138 → 74HC164 → 74HC595核心功能、引脚作用及芯片定位

一、74HC138&#xff1a;精准的“8选1开关” 核心作用 用3根控制线&#xff08;A0-A2&#xff09;实现8路严格单选&#xff0c;同一时刻仅1路输出低电平&#xff08;其他7路高电平&#xff09;。 &#x1f4cc; 本质&#xff1a;二进制地址译码器&#xff0c;不是数据寄存器。…

鸿蒙Next仓颉语言开发实战教程:懒加载

今天要分享的是仓颉开发语言中的懒加载。 先和初学者朋友们解释一下什么是懒加载。懒加载在代码中叫做LazyForEach&#xff0c;看到名字你一定能猜到它和ForEach的功能类似。只不过和ForEach的一次性加载所有数据不同&#xff0c;懒加载会根据屏幕可使区域按需加载数据&#x…

Linux 内核同步管理全解:原理 + 实战 + 考点

&#x1f525; 推荐&#xff1a;《Yocto项目实战教程&#xff1a;高效定制嵌入式Linux系统》 京东正版促销&#xff0c;欢迎支持原创&#xff01; 链接&#xff1a;https://item.jd.com/15020438.html 一、为什么需要同步机制&#xff1f; Linux 是一个支持 多核并发 抢占式调…

效果成本双突破!快手提出端到端生成式推荐系统OneRec!

近日&#xff0c;快手推荐模型团队提出了一个端到端生成式推荐系统OneRec&#xff0c;该系统采用Encoder-Decoder架构&#xff0c;引入了基于奖励机制的偏好对齐方法&#xff0c;借助强化学习增强模型效果&#xff0c;可在奖励模型引导下直接生成契合用户偏好的视频内容。通过极…

flex布局 项目属性

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>flex布局 项目属性</title> <link href"css/k.css" rel"stylesheet" /> </head> <bod…

SpringBoot扩展——应用Web Service!

应用Web Service Web Service是一个SOA&#xff08;面向服务的编程&#xff09;架构&#xff0c;这种架构不依赖于语言&#xff0c;不依赖于平台&#xff0c;可以在不同的语言之间相互调用&#xff0c;通过Internet实现基于HTTP的网络应用间的交互调用。Web Service是一个可以…

EasyExcel学习笔记

EasyExcel学习 一、EasyExcel简介 一、EasyExcel是什么 EasyExcel是一个基于Java的简单、省内存的读写Excel的阿里开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 官网&#xff1a;https://easyexcel.opensource.alibaba.com/ 学习Easyexcel前需要了解导入和导出…

day4课程

1整体认识和路由配置 2二级分类面包屑导航实现 3基础商品列表渲染 4列表筛选功能实现 5列表无限加载功能实现 6定制路由滚动行为 7详情页整体认识和路由配置 8详情页基础数据渲染 9详情页基础组件封装和数据渲染 10适配不同title和数据列表 11小图切换大图 12滑块跟随鼠标移动 …