当前位置: 首页 > news >正文

Matplotlib的使用方法

Matplotlib是Python最著名的绘图库,它提供了一整套和Matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入到GUI应用程序中。Matplotlib能够创建多数类型的图表,如条形图、散点图、条形图、饼图、堆叠图、3D图和地图图表。 Python安装好以后,默认是没有安装Matplotlib库的,需要单独安装。在Windows系统中打开一个cmd窗口,执行如下命令安装Matplotlib库: > pip install matplotlib

下面介绍如何使用Matplotlib绘制一些简单的图表。 首先要导入pyplot模块:

>>> import matplotlib.pyplot as plt

接下来,我们调用plot方法绘制一些坐标:

>>> plt.plot([1,2,3],[4,8,5]) plot()方法需要很多参数,但是最主要的是前2个参数,分别表示x坐标和y坐标,比如,上面语句中放入了两个列表[1,2,3]和[4,8,5],就表示生成了3个坐标(1,4)、(2,8)和(3,5)。 下面可以把图表显示到屏幕上:

>>> plt.show()

下面画出两条折线,并且给每条折线一个名称:

x = [1,2 ,3]   # 第1条折线的横坐标
y = [4, 8, 5]   # 第1条折线的纵坐标
x2 = [1, 2, 3]  # 第2条折线的横坐标
y2 = [11, 15, 13]  # 第2条折线的纵坐标plt.plot(x, y, label='First Line')  # 绘制第1条折线,给折线一个名称'First Line'
plt.plot(x2, y2, label='Second Line')  # 绘制第2条折线,给折线一个名称'Second Line'
plt.xlabel('Plot Number')  # 给横坐标轴添加名称
plt.ylabel('Important var')  # 给纵坐标轴添加名称
plt.title('Graph Example\nTwo lines')  # 添加标题plt.legend()  # 添加图例
plt.show()  # 显示到屏幕上

下面介绍条形图的绘制方法。

plt.bar([1,3,5,7,9],[6,3,8,9,2], label="First Bar")   #第1个数据系列#下面的color='g',表示设置颜色为绿色
plt.bar([2,4,6,8,10],[9,7,3,6,7], label="Second Bar", color='g')  #第2个数据系列
plt.legend()  #添加图例
plt.xlabel('bar number')   #给横坐标轴添加名称
plt.ylabel('bar height')   #给纵坐标轴添加名称
plt.title('Bar Example\nTwo bars!')  #添加标题
plt.show()  #显示到屏幕上

下面介绍直方图的绘制方法。

population_ages = [21,57,61,47,25,21,33,41,41,5,96,103,108, 121,122,123,131,112,114,113,82,77,67,56,46,44,45,47]
bins=[0,10,20,30,40,50,60,70,80,90,100,110,120,130]
plt.hist(population_ages, bins, histtype='bar', rwidth=0.8)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Graph Example\n Histogram')
plt.show()  #显示到屏幕上

下面介绍饼图的绘制方法。

slices = [7,2,2,13]  #即activities分别占比7/24,2/,2/24,13/24
activities = ['sleeping','eating','working','playing']
cols = ['c','m','r','b']
plt.pie(slices,labels=activities,colors=cols,startangle=90,shadow= True,explode=(0,0.1,0,0),autopct='%1.1f%%')
plt.title('Graph Example\n Pie chart')
plt.show()    #显示到屏幕上

下面介绍散点图的绘制方法。

import matplotlib.pyplot as plt# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]# 绘制散点图
plt.scatter(x, y, color='blue', marker='o', label='Scatter Plot')# 添加标题和轴标签
plt.title('Scatter Plot Example')
plt.xlabel('X-axis Label')
plt.ylabel('Y-axis Label')# 添加图例
plt.legend()# 显示图表
plt.show()

如果你想自定义 x 轴和 y 轴的刻度,你可以使用 plt.xticks plt.yticks 函数。这两个函数允许你指定刻度的位置和标签。

import matplotlib.pyplot as plt# 示例数据
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]# 绘制散点图
plt.scatter(x, y, color='blue', marker='o', label='Scatter Plot')# 添加标题和轴标签
plt.title('Scatter Plot Example')
plt.xlabel('X-axis Label')
plt.ylabel('Y-axis Label')# 添加图例
plt.legend()# 自定义 x 轴刻度
plt.xticks([1, 2, 3, 4, 5], ['A', 'B', 'C', 'D', 'E'])# 自定义 y 轴刻度
plt.yticks([2, 5, 7, 11], ['Min', 'Mid', 'High', 'Max'])# 显示图表
plt.show()


 

plt.xticksplt.yticks 分别用于自定义 x 轴和 y 轴的刻度。你可以提供刻度的位置和对应的标签,这样就能够替换默认的刻度标签。这对于将抽象的数值映射到实际的含义时很有用。

plt.xticksplt.yticks 的第一个参数中,提供了要显示的刻度的位置,而在第二个参数中,提供了对应位置的标签。在这个示例中,x 轴的刻度分别用字母 A 到 E 表示,而 y 轴的刻度用 'Min'、'Mid'、'High' 和 'Max' 表示。

相关文章:

Matplotlib的使用方法

Matplotlib是Python最著名的绘图库,它提供了一整套和Matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入到GUI应用程序中。Matplotlib能够创建多数类型的图表,如条形图、散点图、条形图、饼图…...

【入门篇】1.7 Redis 之 codis 入门介绍

文章目录 1. 简介2. Codis的安装与配置下载编译源码安装1. 安装 Go 运行环境2. 设置编译环境3. 下载 Codis 源代码4. 编译 Codis 源代码 Docker 部署 3. Codis的架构Codis的架构图和组件Codis的工作流程 4. Codis的核心特性自动数据分片数据迁移高可用性全面支持Redis命令分布式…...

【JavaEE】Servlet API 详解(HttpServlet类)

一、HttpServlet 写 Servlet 代码的时候, 首先第一步就是先创建类, 继承自HttpServlet, 并重写其中的某些方法 1.1 HttpServlet核心方法 1.2 Servlet生命周期 这些方法的调用时机, 就称为 “Servlet 生命周期”. (也就是描述了一个 Servlet 实例从生到死的过程) 1.3 处理G…...

微软宣布计划在 Windows 10 版本 22H2 中引入 AI 助手 Copilot

根据之前的传言,微软宣布计划在 Windows 10 版本 22H2 中引入 AI 助手 Copilot。Copilot 将包含在 Windows 10 家庭版和专业版中。该更新的发布日期尚未公布,但预计将在不久的将来发布。 在一份新闻稿中,微软表示在向 Windows 11 用户提供 Co…...

ubuntu 怎么安装图形界面

ubuntu 安装图形界面的方法,可以通过以下步骤操作来实现: 1、确认版本首先登录一下服务纯缺器ubuntu,查看系统版本。然后用root账号登录,如下图所示: 2、更新apt-get首先要先更新一下apt-get源,输入apt-g…...

【LabVIEW学习】2.for,while,事件

1.for实例&#xff08;随机输出数据100次&#xff09; 结果&#xff1a; 2.while实例&#xff08;i<50灯亮&#xff0c;大于之后灯灭&#xff09; 结果&#xff1a;&#xff08;先亮后灭&#xff09; 3.事件结构的实例&#xff08;点击按钮数据增加&#xff09;事件监听应该…...

JVM bash:jmap:未找到命令 解决

如果我们在使用JVM的jmap命令时遇到了"bash: jmap: 未找到命令"的错误&#xff0c;这可能是因为jmap命令没有在系统的可执行路径中。 要解决这个问题&#xff0c;可以尝试以下几种方法&#xff1a; 1. 检查Java安装&#xff1a;确保您已正确安装了Java Development …...

基于单片机的温度控制器系统设计

**单片机设计介绍&#xff0c; 基于单片机的温度控制器系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的温度控制器系统是一种利用单片机来检测环境温度并控制温度的系统。它通常由以下几个部分组成&#xff…...

oracle数据库中job和dbms_job比较

oracle中job和dbms_job比较 一、概述 Oralce中的任务有2种&#xff1a;Job和Dbms_job&#xff0c;两者的区别有&#xff1a; ①、Job是通过调用dbms_scheduler.create_job包创建的&#xff0c;Dbms_job则是通过调用dbms_job.submit包创建的。 ②、两种任务的查询视图都分为db…...

# Python基础:输入输出详解-读写文件(还需完善)

open() 返回一个 file object &#xff0c;最常使用的是两个位置参数和一个关键字参数&#xff1a;open(filename, mode, encodingNone) f open(workfile, w, encoding"utf-8")第一个实参是文件名字符串。第二个实参是包含描述文件使用方式字符的字符串。mode 的值…...

【Spring】 Spring中的IoC(控制反转)

以往在定义业务层实现时&#xff0c;在指定具体地Dao时候需要具体地定义出其实现&#xff1a; public class BookServiceImpl implements BookService{private BookDao bookDao new BookDaoImpl();public void save(){bookDao.save()} }public class BookDaoImpl implements …...

playwright在vscode+jupyter中出现NotImplementedError问题

近期因个人需要接触playwright&#xff0c;由于playwright新接触&#xff0c;想用jupyter进行API测试学习。刚开始使用sync_playwright&#xff0c;在playwright的Conda运行环境中&#xff0c;以console模式和单文件直接运行模式&#xff0c;都能正常运行。但是进入jupyter中后…...

js 实现文件上传

input 类型为file <inputtype"file"class"absolute "change"fileUpload"/> const fileUpload (e: any) > {const formData new FormData(); // form-data数据类型formData.append(file, e.target.files[0]);// 获取文件信息&#xff…...

5. Spring源码篇之BeanDefinition

简介 在spring中BeanDefinition是一个接口&#xff0c;下面也有很多的实现类 大致如下 BeanDefinitionAbstractBeanDefinitionRootBeanDefinition 最终每个BeanDefinition都是一个 RootBeanDefinitionChildBeanDefinition 现在不用了废弃&#xff…...

kotlin--2.面向对象

目录 一.概念 Kotlin 类/对象 二.创建类 1.创建类 2.构造函数 2.getter 和 setter 实例 3.主构造器 实例 4.次构造函数 实例 5.抽象类 6.嵌套类 7.内部类 8.匿名内部类 9.类的修饰符 实例 三.继承 1.概念 2.构造函数 (1)子类有主构造函数 (2)子类没有主构…...

Linux安装RabbitMQ详细教程

一、下载安装包 下载erlang-21.3-1.el7.x86_64.rpm、rabbitmq-server-3.8.8-1.el7.noarch.rpm 二、安装过程 1、解压erlang-21.3-1.el7.x86_64.rpm rpm -ivh erlang-21.3-1.el7.x86_64.rpm2、安装erlang yum install -y erlang3、查看erlang版本号 erl -v4、安装socat …...

rviz是如何获取图像里选择的点云的3D坐标的

以前以为rviz是用OpenGL渲染绘图&#xff0c;那么获取图像里像素点对应的真实3D坐标是采用的OpenGL里提供的API实现的&#xff0c;结果一看代码还真不是这样&#xff0c;rviz也就渲染用了OpenGL&#xff0c;其他都是自己实现的&#xff0c;图像界面的实现完全是遵循MVC设计模式…...

响应体和状态码

后端响应体和状态码设计 主流技术&#xff1a;响应体 和 状态码结合使用 响应体&#xff1a;数据 响应 给前端的 格式 1、为什么要设计统一响应体? 1、系统默认提供许多的状态码&#xff0c;但HTTP的状态码数量有限。 通过修改响应返回的JSON数据&#xff0c;更好的表达业务中…...

CNN进展:AlexNet、VGGNet、ResNet 和 Inception

一、说明 对于初学者来说&#xff0c;神经网络进展的历程有无概念&#xff1f;该文综合叙述了深度神经网络的革命性突破&#xff0c;从AlexNet开始&#xff0c;然后深度VGG的改进&#xff0c;然后是残差网络ResNet和 Inception&#xff0c;如果能讲出各种特色改进点的和改进理由…...

数据的存储--MongoDB文档存储

MongoDB文档存储 NoSQL&#xff0c;全称为Not Only SQL&#xff0c;意为不仅仅是SQL&#xff0c;泛指非关系型数据库。NoSQL是基于键值对的&#xff0c;而且不需要经过SQL层的解析&#xff0c;数据之间没有耦合性&#xff0c;性能非常高。 非关系行数据库又可细分如下。 键值存…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...