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层的解析,数据之间没有耦合性,性能非常高。 非关系行数据库又可细分如下。 键值存…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
