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.xticks 和 plt.yticks 分别用于自定义 x 轴和 y 轴的刻度。你可以提供刻度的位置和对应的标签,这样就能够替换默认的刻度标签。这对于将抽象的数值映射到实际的含义时很有用。
在 plt.xticks 和 plt.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实例(随机输出数据100次) 结果: 2.while实例(i<50灯亮,大于之后灯灭) 结果:(先亮后灭) 3.事件结构的实例(点击按钮数据增加)事件监听应该…...
JVM bash:jmap:未找到命令 解决
如果我们在使用JVM的jmap命令时遇到了"bash: jmap: 未找到命令"的错误,这可能是因为jmap命令没有在系统的可执行路径中。 要解决这个问题,可以尝试以下几种方法: 1. 检查Java安装:确保您已正确安装了Java Development …...
基于单片机的温度控制器系统设计
**单片机设计介绍, 基于单片机的温度控制器系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的温度控制器系统是一种利用单片机来检测环境温度并控制温度的系统。它通常由以下几个部分组成ÿ…...
oracle数据库中job和dbms_job比较
oracle中job和dbms_job比较 一、概述 Oralce中的任务有2种:Job和Dbms_job,两者的区别有: ①、Job是通过调用dbms_scheduler.create_job包创建的,Dbms_job则是通过调用dbms_job.submit包创建的。 ②、两种任务的查询视图都分为db…...
# Python基础:输入输出详解-读写文件(还需完善)
open() 返回一个 file object ,最常使用的是两个位置参数和一个关键字参数:open(filename, mode, encodingNone) f open(workfile, w, encoding"utf-8")第一个实参是文件名字符串。第二个实参是包含描述文件使用方式字符的字符串。mode 的值…...
【Spring】 Spring中的IoC(控制反转)
以往在定义业务层实现时,在指定具体地Dao时候需要具体地定义出其实现: public class BookServiceImpl implements BookService{private BookDao bookDao new BookDaoImpl();public void save(){bookDao.save()} }public class BookDaoImpl implements …...
playwright在vscode+jupyter中出现NotImplementedError问题
近期因个人需要接触playwright,由于playwright新接触,想用jupyter进行API测试学习。刚开始使用sync_playwright,在playwright的Conda运行环境中,以console模式和单文件直接运行模式,都能正常运行。但是进入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]);// 获取文件信息ÿ…...
5. Spring源码篇之BeanDefinition
简介 在spring中BeanDefinition是一个接口,下面也有很多的实现类 大致如下 BeanDefinitionAbstractBeanDefinitionRootBeanDefinition 最终每个BeanDefinition都是一个 RootBeanDefinitionChildBeanDefinition 现在不用了废弃ÿ…...
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渲染绘图,那么获取图像里像素点对应的真实3D坐标是采用的OpenGL里提供的API实现的,结果一看代码还真不是这样,rviz也就渲染用了OpenGL,其他都是自己实现的,图像界面的实现完全是遵循MVC设计模式…...
响应体和状态码
后端响应体和状态码设计 主流技术:响应体 和 状态码结合使用 响应体:数据 响应 给前端的 格式 1、为什么要设计统一响应体? 1、系统默认提供许多的状态码,但HTTP的状态码数量有限。 通过修改响应返回的JSON数据,更好的表达业务中…...
CNN进展:AlexNet、VGGNet、ResNet 和 Inception
一、说明 对于初学者来说,神经网络进展的历程有无概念?该文综合叙述了深度神经网络的革命性突破,从AlexNet开始,然后深度VGG的改进,然后是残差网络ResNet和 Inception,如果能讲出各种特色改进点的和改进理由…...
数据的存储--MongoDB文档存储
MongoDB文档存储 NoSQL,全称为Not Only SQL,意为不仅仅是SQL,泛指非关系型数据库。NoSQL是基于键值对的,而且不需要经过SQL层的解析,数据之间没有耦合性,性能非常高。 非关系行数据库又可细分如下。 键值存…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
