【Python】Matplotlib(学习笔记)

news2024/12/24 18:20:29

一、Matplotlib概述

1、什么是Matplotlib

画二维图表的python库

2、Matplotlib图像结构

3、Matplotlib三层结构

容器层 => 画板层Canvas、画布层Figure、绘图区/坐标系(x、y轴张成的区域)

辅助显示层

图像层

二、基础绘图功能

1、模块导入

matplotlib.pyplot包含了一系列类似于matlab的画图函数,它的函数作用于当前图形(tiqure)的当前坐标系(axes)

import matplotlib.pyplot as plt

2、折线图绘制

plt.figure()
plt.plot([1,2,3,4,5,6,7],[17,17,18,19,20,12,17])
plt.show()

3、设置画布属性

figsize : 画布长宽

dpi : 图像的清晰度

plt.figure(figsize=(1080,720), dpi=300)

4、保存图像

需要写在plt.show()之前

plt.savefig("./img/demo.png")

5、添加自定义x、y刻度

plt.xticks(x, **kwargs)
plt.yticks(y, **kwargs)

6、添加网格显示

plt.grid(True, linestyle="--", alpha=0.5)

7、添加描述信息

plt.xlabel("时间")
plt.ylabel("温度")
plt.title("标题")

8、多个曲线的绘制

多次调用plt.plot()函数

9、图例的显示

在plot中添加label标签

plt.figure()
plt.plot([1,2,3,4,5,6,7],[17,17,18,19,20,12,17],label="shanghai")
plt.plot([1,2,3,4,5,6,7],[10,5,2,8,10,10,8],label="beijing")
# 显示图例
plt.legend()
plt.show()

10、多个坐标系显示

面向对象的画图方法

figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=80)
axes[0].plot([1,2,3,4,5,6,7],[17,17,18,19,20,12,17])
axes[1].plot([1,2,3,4,5,6,7],[10,5,2,8,10,10,8])
plt.show()

三、常见图标

1、应用场景

折线图(plot):某事物、某指标随时间的变化状况

散点图(scatter):关系/规律

柱状图(bar):统计/对比

直方图(histogram):分布状况

饼图(pie π):占比

2、散点图绘制

x = [12.3,15.3,12.5,15.5,9.6,19.8,12.9]
y = [10,5,2,8,10,10,8]

plt.figure(figsize=(25, 8), dpi=80)
plt.scatter(x,y)
plt.show()

3、柱状图绘制

name = ["a", "b", "c"]
value = [988, 698, 789]

plt.figure(figsize=(10, 8), dpi=80)
plt.bar(range(len(name)), value)
plt.xticks(range(len(name)), name)
plt.show();

4、直方图绘制

组数:在统计数据时,我们把数据按照不同的范围分成几个组,分成的组的个数称为组数

组距:每一组两个端点的差

value = [155, 153, 168, 162, 158, 152, 160, 164, 170, 161, 158, 172, 163,
       166, 176, 140, 162, 172, 168, 148, 141, 140, 176, 172, 141, 164,
       140, 167, 164, 159, 143, 174, 159, 178, 157, 157, 149, 152, 163,
       170, 175, 168, 171, 155, 169, 152, 178, 154, 162, 175, 160, 152,
       167, 164, 150, 152, 147, 174, 142, 179, 174, 142, 153, 170, 177,
       169, 163, 177, 165, 151, 165, 175, 140, 140, 176, 147, 155, 152,
       174, 177, 158, 174, 144, 157]

plt.figure(figsize=(10, 8), dpi=80)
plt.hist(value, bins=10)
plt.show()

直方图与柱状图的对比:

  1. 直方图展示数据的分布,柱状图比较数据的大小。
  2. 直方图X轴为定量数据,柱状图X轴为分类数据。
  3. 直方图柱子无间隔,柱状图柱子有间隔宽度可不一,柱状图柱子宽度须一致

直方图注意:组距的设置、考虑y轴的变量

5、饼图的绘制

value = [155, 53, 198, 62]
plt.figure(figsize=(10, 8), dpi=80)
plt.pie(value, autopct="%1.2f%%")
plt.axis("equal")
plt.show()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gin索引 btree索引 gist索引比较

创建例子数据 postgres# create table t_hash as select id,md5(id::text) from generate_series(1,5000000) as id; SELECT 5000000postgres# vacuum ANALYZE t_hash; VACUUMpostgres# \timing Timing is on. postgres# select * from t_hash limit 10;id | …

SAP 63策略测试简介

在之前的文章中我们又测试了60的策略,接下来我们测试一下63的策略,看看两者之间有什么区别。 首先我们先对比一下系统方面的配置 我们可以看到60策略和63策略中的独立需求的配置是一样的。只在客户需求配置方面有些区别,接下来就开始我们的测试 1、首先我们还是先创建物料…

K8S 集群搭建

1、搭建清单 2台linux服务器(一个master节点,一个node节点),建议搭3台(一个master,两个node) 我使用的是腾讯云,节点与节点使用公网IP通信 确保2台服务器都安装了docker 2、服务…

道路交通仿真方案【SUMO + TraCI + Python】

“城市交通模拟”(SUMO)是一个开源、高度可移植、微观和连续的交通模拟包,旨在处理大型网络(SUMO 文档)。 TraCI 是“交通控制接口”模块的简称,它可以访问正在运行的道路交通模拟,以检索模拟对…

理疗养生服务预约小程序要如何做

不少人面对身体症状疼痛,往往不会选择去医院,而是去理疗养生馆,选择艾灸、拔罐、中药贴敷等方式治疗改善或减轻疼痛。随着人们对中医信赖度增强,理疗养生市场增长迅速。 而在增长的同时,我们也注意到理疗养生馆经营痛…

点燃初冬!中海达亮相第一届中国测绘地理信息大会

11月8日,第一届中国测绘地理信息大会在浙江德清国际展览中心拉开帷幕。中海达携“海陆空、室内外”产品以及解决方案亮相展会,受到了与会领导、业界同仁、行业用户的高度关注。 ▲第一届中国测绘地理信息大会开幕式现场 本届大会以“科技引领&#xff0c…

电商平台api接口对接电商数据平台,获取商品详情页面实时信息须知

随着互联网的发展和普及,电商平台已成为人们日常生活中不可或缺的一部分。而为了保证电商平台的正常运行,平台与开发者之间需要进行数据交互,这便涉及到了电商平台API接口对接的问题。本文将详细介绍电商平台API接口对接的须知事项。 一、了解…

【原创】java+swing+mysql车辆维修管理系统设计与实现

摘要: 车辆维修管理系统是一个用于管理和追踪车辆维修过程的系统,它能够提高效率,减少错误,并提供详细的车辆历史记录,可以帮助车辆维修企业实现信息化管理,提高工作效率和客户满意度,降低运营…

RabbitMQ 核心部分之简单模式和工作模式

文章目录 一、Hello World(简单)模式1.导入依赖2.消息生产者3.消息消费者 二、Work Queues(工作)模式1.抽取工具类2.启动两个工作线程3.启动一个发送线程4.结果 总结 一、Hello World(简单)模式 在下图中&…

东北水利水电杂志东北水利水电杂志社东北水利水电编辑部2023年第11期目录

规划设计 导流泄洪洞射流-旋流梯级内消能工竖井出口体型优化 李金宝; 1-371 粉细砂地层防洪结构新形式研究 李泽鑫; 4-6《东北水利水电》投稿:cnqikantg126.com 引绰济辽工程鱼道进鱼口位置选择 银佳男;于月鹏;张鹏; 7-82471 大藤峡水利枢纽工程长期…

CRM销售管理软件哪个好,如何选?(二)

书接上回,我们从软件功能和厂商实力为大家介绍了CRM销售管理软件哪个好?该如何选型的难题,除了以上两点还有那些不容忽视的要素呢? 灵活性 CRM销售管理软件是企业信息化建设的中心,需要和其它企业管理应用进行集成实…

Python使用Mechanize库完成自动化爬虫程序

Mechanize是一个Python第三方库,它可以模拟浏览器的行为,实现自动化的网页访问、表单填写、提交等操作。下面是一个使用Mechanize库编写的爬虫的例子,它可以爬取百度搜索结果页面的标题和链接: import mechanize from bs4 import …

将铜互连扩展到2nm的研究

晶体管尺寸在3nm时达到临界点,纳米片FET可能会取代finFET来满足性能、功耗、面积和成本目标。同样,正在评估2nm铜互连的重大架构变化,此举将重新配置向晶体管传输电力的方式。 芯片制造商也可能会在2nm节点开始用钌或钼在一定程度上取代铜。…

一寸证件照排版工具,在线将证件照排版在相纸上

证件照是我们经常使用到的一种办事资料,考试报名和办理个人证件都是需要的,很多时候需要纸质照片,如果我们手头有打印机的话就很方便了,但相纸都是固定尺寸的例如5寸、6寸相纸,而数码证件照的尺寸则不固定,…

第二证券:被举牌一般会有几个涨停?

跟着股市的昌盛,越来越多的人初步查验出资,而其中一个备受注重的策略就是“举牌”。举牌是指某个股东对股票达到了必定比例的控制权,并告诉公司的一种行为。这种行为除了会对公司股价构成影响之外,还可以让股民猜疑和进一步价格走…

蓝牙特征值示例1-迈金L308自行车尾灯夜骑智能表情尾灯的

了解商品级蓝牙特征值 1 服务器(设备)描述 0x02-01-06 05-03-0F180A18 09-FF-FFFF166B001C0101 0A-09-4C3330385F37393937 01设备标识 03服务UUID FF厂商自定义数据(厂家编号:FFFF-166B001C0101) 完整设备名称: L308-7997 2 服…

Vue 3.0 + vite + axios+PHP跨域问题的解决办法

最后一个Web项目,采用前后端分离。 前端:Vue 3.0 viteelement plus 后端:PHP 运行时前端和后端是两个程序,前端需要时才向后端请求数据。由于是两个程序,这就会出现跨域问题。 比如前端某个地方需要请求的接口如下…

51单片机+DS1302设计一个电子钟(LCD1602显示时间)

一、前言 电子钟是一种能够准确显示时间的设备,广泛应用于家庭、办公场所和公共场所,为人们提供了方便和准确的时间信息。本项目设计一个基于51单片机的电子钟,使用DS1302作为RTC时钟芯片,LCD1602作为显示屏,并通过串…

安装MinGW并在codeblocks下使用

一、下载安装MinGW 1.下载MinGw安装器,下载地址 2. 安装 下载下来的知识一个安装器,我们双击安装会帮我们自动下载好相关文件 安装完成后会打开一个安装管理工具,在这个工具中我们选中想要安装的软件包然后安装到本地 选好以后在菜单栏选…

员工电脑监控的方法有哪些

有人在后台问,员工电脑监控的方法有哪些? 其实主要包括以下几方面:1)安装监控软件 2)使用操作系统自带的工具 3)部署网络监控设备 4)定期检查电脑 5)制定严格的规章制度 因为内容比…