Python中Matplotlib的详细操作介绍

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

author:xiao黄
缓慢而坚定的生长


写这篇文章是因为自己以后肯定要用到 这方面的知识,所以把一些学到的知识先整理好,方便以后查看,以及希望对你们有所帮助。

1.基本内容

Matplotlib 是一个 Python 的 2D(包括3D)绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

2.安装

使用python安装

pip install matplotlib

或者使用anaconda安装

conda install matplotlib

3.Matplotlib三层结构

一般导入包的时候将matplotlib.pyplot as plt

import matplotlib.pyplot as plt
  1. 容器层
    1画板层(canvas)
    2画布层(Figure):plt.figure()
    3绘图区/坐标系axex:plt.subplots()
  2. 辅助显示层
  3. 图像层

4.设置图属性以及图片保存

plt.figure(figsize=(), dpi=)
	figsize:指图片的长宽
	dpi:图像的清晰度
	返回fig图像
# 例子
plt.figure(figsize=(20,8), dpi=80)

# 图片保存
plt.savefig(path) # path 为保存的路径,自定义

注意:plt.show()会释放资源,如果在显示图像之后保存图片将只保存空图片。

4.1例子

import matplotlib.pyplot as plt 

# 例子1
plt.figure() # 创建一个空图
plt.plot([1,0,9],[4,5,6]) # 横纵坐标
plt.show() # 展示

结果:
在这里插入图片描述

5.自定义x,y刻度

  • plt.xticks(x, **kwargs)
    x:要显示的刻度值
  • plt.yticks(y, **kwargs)
    y:要显示的刻度值

6.添加网格显示

plt.grid(True, linestyle='--', alpha=0.5)
# alpha 透明度

7.添加描述信息

# 添加x轴,y轴描述以及标题
plt.xlabel('time')
plt.ylabel('temperature')
plt.title('Schematic diagram of temperature changes between 11 and 12 noon in Shanghai and Beijing')

8.设置图形风格

在这里插入图片描述

9.显示图例

plt.legend()

可以调节图例的位置,一般使用下面这个:

plt.legend(loc='best')

下面列出一些,还有的可以参考官方文档:
在这里插入图片描述

10.在同一个图显示多个曲线

代码已经的注释已经很清楚了,还有不懂的欢迎留言或者私信。

# 例子3 在同一个图显示
import matplotlib.pyplot as plt 
import random

x = range(60)
y = [random.uniform(15,18) for i in x] # 假设是上海
z = [random.uniform(0,3) for i in x] # 假设是北京
plt.figure(figsize=(20,8), dpi=80) # 图片大小,清晰度

plt.plot(x,y, color='r', linestyle='--', label='Shanghai') # 可以修改颜色、线条风格、图例
plt.plot(x,z, color='b', label='Beijing')

plt.legend() # 显示图例

x_label = ['11:{}'.format(i) for i in x]
plt.xticks(x[::5],x_label[::5]) # 修改x的刻度
plt.yticks(range(0,40,5)) # 修改y的刻度

# 添加网格显示
plt.grid(True, linestyle='--', alpha=0.5)

# 添加x,y轴描述信息及标题
plt.xlabel('time')
plt.ylabel('temperature')
plt.title('Schematic diagram of temperature changes between 11 and 12 noon in Shanghai and Beijing')

plt.show()

结果显示:
在这里插入图片描述

11.一个界面显示多个图

主要是用到plt.subplots()函数,它返回两个对象,分别是figure和axes。
通过对axes画对应的坐标轴。

plt.subplots(nrows=1,ncols=2) # 一行两列

具体代码如下:

# 例子4 在不同的图显示
import matplotlib.pyplot as plt 
import random

x = range(60)
y = [random.uniform(15,18) for i in x] # 假设是上海
z = [random.uniform(0,3) for i in x] # 假设是北京

# 创建画布
figure,axes = plt.subplots(nrows=1,ncols=2, figsize=(20,8), dpi=80)

# 绘图
axes[0].plot(x,y, color='r', linestyle='--', label='Shanghai') # 可以修改颜色、线条风格、图例
axes[1].plot(x,z, color='b', label='Beijing')

# 显示图例
axes[0].legend()
axes[1].legend()

# 修改刻度
x_label = ['11:{}'.format(i) for i in x]
axes[0].set_xticks(x[::5]) # 修改x的刻度
axes[0].set_xticklabels(x_label[::5])
axes[0].set_yticks(range(0,40,5)) # 修改y的刻度
axes[1].set_xticks(x[::5]) # 修改x的刻度
axes[1].set_xticklabels(x_label[::5])
axes[1].set_yticks(range(0,40,5)) # 修改y的刻度

# 增加网格显示
axes[0].grid(True, linestyle='--', alpha=0.5)
axes[1].grid(True, linestyle='--', alpha=0.5)

# 添加描述信息
axes[0].set_xlabel('time')
axes[0].set_ylabel('temperature')
axes[0].set_title('Schematic diagram of temperature changes between 11 and 12 noon in Shanghai')
axes[1].set_xlabel('time')
axes[1].set_ylabel('temperature')
axes[1].set_title('Schematic diagram of temperature changes between 11 and 12 noon in Beijing')

# 显示图片
plt.show()

结果显示:
在这里插入图片描述

Python matplotlib基础操作 matplotlib基础操作 阅读详情

相关推荐

python Matplotlib绘图常见操作!

import pandas as pd unrate=pd.read_csv("C:/Total-folder/work/AI/machine/data/UNRATE.csv") ###把现有列的时间进行类型转换转成标准的时间格式 unrate["DATE"]=pd.to_datetime(unrate["DATE"]) print(unrate.head(12)) 绘制一个空的画板...

luomuwuhuixue的博客 586

Matplotlib进阶教程:路径讲解

在后台回复【阅读书籍】即可获取python相关电子书~Hi,我是山月。今天来给大家介绍下Matplotlib里的路径部分~01基础介绍所有 matplotlib.patches 对象的底层对象都是 Path,它支持标准的 moveto、lineto、curveto 命令集,以绘制由线段和坐标线组成的简单和复合轮廓。Path用元素为(x,y)坐标点的二维数组和长度为 N 的...

qq_45464895的博客 1269

【图像处理入门】2. Python中OpenCV与Matplotlib的图像操作指南

通过掌握这些基础操作,您将为后续的图像处理学习打下坚实基础。建议通过实际项目(如证件照背景替换、图像特效制作)加深理解。

专注:太空算力、AI infra、异构调度、大模型成本工程 1417

Python——Matplotlib(基本用法)

是专门用于开发2D图表(包括3D图表)以渐进、交互的方式实现数据可视化x:要显示的刻度值y:要显示的刻度值#准备x,y轴坐标的数据#构造x轴刻度标签x_ticks_lable=["11点{}分".format(i) for i in x]#构造y轴刻度#修改x,y轴的刻度显示plt.show()

m0_63047033的博客 3428

Tessent实战:网表扫描链插入全流程解析

本文详细解析了使用Tessent工具为网表插入扫描链(Scan Chain)的全流程。从前期环境配置、网表检查,到扫描链数量、时钟域等核心配置,再到执行扫描单元替换与连接,最后进行结果验证与文件输出。文章提供了关键命令与实用技巧,帮助工程师高效完成DFT设计,确保芯片可测试性。

hhh00的博客 747

手搓ZLMediaKit实现拉流推流系列3(RK3588上YOLO系列拉流、MPP解码+编码、推流全流程)

 前段时间比较忙,一直没有时间补充后续的内容。今天终于抽出空来,立马进入码字环节:手搓ZLMediaKit实现拉流推流系列在本篇也终于迎来了完结篇,在本篇文章中,你将看到以下一整套完整流程:使用ZLMediaKit拉流---MPP解码---Yolo模型进行推理---MPP编码并推流。

m0_46303486的博客 2175

绘图: matplotlib核心剖析

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!   matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。我将在这篇文章中介绍matplotlib API的核心对象,并介绍如何使用这些对象来实现绘图。实际上,matplotlib的对象体系严谨而有趣,为使用者提供了巨大的发挥空间。用户在熟...

weixin_34293902的博客 1812

从代码仓库到知识库:自动化构建与RAG技术实践

在软件工程领域,代码库的规模与复杂性日益增长,如何高效管理和利用其中的知识成为关键挑战。传统文档工具主要依赖注释提取API信息,而现代知识构建技术则通过抽象语法树(AST)解析、自然语言处理等手段,深入理解代码结构、调用关系和业务逻辑。其核心价值在于将非结构化代码转化为机器可理解、可检索的结构化知识,显著提升代码资产的可维护性和团队协作效率。这一过程通常涉及代码解析、信息提取、向量化表示和存储索引四个关键阶段,其中向量化技术将代码语义转化为高维向量,为语义搜索奠定基础。结合检索增强生成(RAG)架构,开发者

weixin_42545292的博客 417

Python--matplotlib(持续更新)

Matplotlib,全称“Matlab plotting library”,是Python中的一个库,它是数字的-NumPy库的数学扩展,是Python中绘制二维和三维图表的数据可视化工具pyplot,面向当前图;axes,面向对象;Pylab,沿用 matlab 风格。Matplotlib中的所有内容都按层次结构组织,层次结构的顶部是由matplotlib提供的matplotlb“状态机环境”——pyplot模块,仅用于图形创建等少数功能,用户显式创建并跟踪图形和轴对象。

abc31431415926的博客 9684

AI智算-K8s如何利用IB RDMA网络加速大模型分布式训练

在AI人工智能领域,大模型的微调是提升性能不可或缺的一环。通过结合InfiniBand RDMA网络的高速互联、Kubernetes的云原生容器化部署,以及智能算力调度平台,可以打造一个高效、灵活且可扩展的分布式训练环境。

Kason_iWiki 819

工业机器人抓取目标检测与抓取姿态估计系统:基于YOLOv12与Cornell Grasping Dataset

工业机器人抓取是自动化生产中的核心环节,而精确的目标检测和抓取姿态估计是实现高效抓取的关键。本文将详细介绍如何构建一个完整的工业机器人抓取系统,该系统结合了最新的YOLOv12目标检测算法和Cornell Grasping Dataset的抓取姿态估计,并提供了用户友好的UI界面。本文详细介绍了一个完整的工业机器人抓取系统,该系统结合了YOLOv12目标检测和基于Cornell Grasping Dataset的抓取姿态估计。我们将使用PyQt5构建一个用户友好的界面,集成目标检测和抓取姿态估计功能。

YOLO 574

python中Matplotlib库显示界面中进行鼠标交互绘制操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.youkuaiyun.com/Dream__TT/article/details/73473388 近期在用Python做医学图像处理系统制作,逐步跟大家分享我遇到的问题以及解决方案。今天来跟大家说一下在matplotlib库显示界面中进行鼠标交互绘制等操作。 先上...

木牛的博客 8702

RK3568平台开发系列:Android环境下CAN的使用

在RK3568平台上,我们可以利用Android环境中的API来实现CAN的使用。通过以上步骤,我们可以在Android应用中发送和接收CAN数据,并进行相应的处理。当接收到CAN数据时,将触发onMessageReceived回调方法,我们可以在这个方法中对接收到的数据进行处理。在上述代码中,我们指定了CAN的ID为0x123,数据为{0x01, 0x02, 0x03},并设置了标志位和周期。接收CAN数据需要注册一个监听器,并在监听器中处理接收到的数据。发送CAN数据需要指定CAN的ID和数据。

2301_79330513的博客 1912

python matplotlib 绘图操作

横坐标值由大到小逆序显示 逆序前的代码和图 import matplotlib.pyplot as plt plt.figure() ax1 = plt.subplot(111) x_list = [1, 2, 3, 4, 5] y_list = [5, 10, 20, 40, 80] plt.sca(ax1) plt.title("Test 1") plt.xlabel("X") plt.yl...

Javy Wang 1825

【产品】 产品设计:ID设计和MD设计详解

1、ID(Industry Design)工业设计 包含外观、材质、手感、颜色配搭,主要界面的实现与及色彩等方面的设计。 2、MD(Mechanical Design)结构设计 以手机为例: 前壳、后壳、手机的摄像镜头位置的选择、固定的方式、电池如何连接和手机的厚薄程度等。 如果是滑盖手机,如何让手机滑上去,怎样实现自动往上弹,SIM卡怎样插和拔的安排,这些都是手机结构设计的范畴。 繁...

产品线负责人 3万+

YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

如今各种网络模型更新迭代越来越快,计算机视觉相关的文章也越来越多,多到一些普通,通用的改进点无法达到发表的要求。本专栏正是解决这个问题!如何寻找创新点?为什么要使用这个模块?如何才能提升模型的精度?这是贯穿我们研究始终的问题。创新点在这个专栏中我已经整理好了,这已经省去了大部分时间,但是当我们使用这些新的模块去优化已有的模型,如何才能提升模型的精度,才是我们要达到的最终目标。当然我们可以使用传统的A+B+C的方法去堆积模块,然后是进行大量的实验去排列组合以实现最终的精度提升,这无可厚非。

Limiiiing的博客 6万+

python -matplotlib figure操作

python -matplotlib figure操作 对于matplotlib当我们画图时,首先一步是对figure的定义,下面先给大家看一段代码 import matplotlib.pyplot as plt import numpy as np import os x=np.linspace(-3,3,50) y1=x*2+1 y2=x**2 plt.figure() plt.plo...

weixin_43327597的博客 1600

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Python——Matplotlib 相关操作

Matplotlib 是一个 Pyihon 的 2D 绘图库。通过 Matplotlib,开发者可以仅需要几行代码便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。通过学习 Matplotlib,可让数据可视化,更直观的真实给用户。使数据更加客观、更具有说服力。Matplotlib.是 Pyhon 的库,又是开发中常用的库。

Mirandan的博客 2003

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Python Matplotlib绘图操作极简笔记

前言 一般用到的都是matplotlib中的pyplot库,一般习惯上写为: import matplotlib.pyplot as plt 所以接下来所有的绘图操作基本都会用到plt.打头的函数。 然后还要解决一下图中中文乱码以及负号无法显示的情况: plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unic...

ZergWang's Blog 1116

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Python数据分析之Matplotlib的常用操作总结

更多python教程请到友情连接: 菜鸟教程https://www.piaodoo.com 初中毕业读什么技校 http://cntkd.net茂名一技http://www.enechn.comppt制作教程步骤 http://www.tpyjn.cn 兴化论坛http://www.yimoge.cn 电白论坛 http://www.fcdzs.com 目录使用准备1、简单的绘制图像2、视图面板的常用操作3、样式及各类常用修饰属性4、legend图例的使用5、添加文字等描述6、不同类型图像的绘制总结使

菜鸟教程 386

Python-Matplotlib库实用操作汇总

目前所包含的Matplotlib操作有如下:使用LaTex、解决中文和负号显示问题、生成数据、各字符含义、折线图、设置x, y 坐标范围及轴刻度、设置x, y 坐标标题、标题、插入文字及网格线、散点图、设置图例、文本框注释、箭头注释、水平线、垂直线及色带、移动坐标轴位置、柱形图、条形图、填充曲线、饼图、阶梯图、直方图、棉棒图、极坐标气泡图、极线图,后续会增加更多操作

程序必须为人类阅读而编写,并且仅仅碰巧可以让机器执行 685

python如何实现界面交互_python中Matplotlib库显示界面中进行鼠标交互绘制操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/Dream__TT/article/details/73473388近期在用Python做医学图像处理系统制作,逐步跟大家分享我遇到的问题以及解决方案。今天来跟大家说一下在matplotlib库显示界面中进行鼠标交互绘制等操作。先上图,下图为...

weixin_39524636的博客 1615

学习python可视化,matplotlib库学习,基本操作

一般matplotlib库会as成plt,方便后面使用,也基本是一种共识。 基础操作 在画图前需要先plt.figure().生产一个图像 x = np.linspace(-3,3,50) y1 = 2*x + 1 y2 = x**2 一上面的数据进行学习 关于图像 `plt.plot(x,y1) # 可以设置具体参数,color、li'nestyle、lineswith、lable(这条线的名字)等等 plt.hlines(1,-1,2) # 一条x∈(-1,2)y=1的直线 竖直线是 vli

K_first的博客 780

python怎么改字体_Python matplotlib修改默认字体的操作

matplotlib库作为Python常用的数据可视化库,默认字体居然不支持中文字体,必须得吐槽一下~闲言少叙,开始正文方法1:在plot中指定prop参数使用matplotlib.font_manager下的FontProperties加载中文字体调用函数时通过prop属性指定中文字体import matplotlib.pyplot as pltimport matplotlib.font_ma...

weixin_39964590的博客 255

python学习——matplotlib基础操作

matplotlib基础操作

weixin_44357667的博客 656
上一篇: 试题 算法提高 计算超阶乘
下一篇: 试题 算法训练 5-1最小公倍数(python)
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值