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

【Python - Matplotlib】P2 plot 折线图

Matplotlib绘制折线图

  • 折线图
    • 完整代码与效果
    • 基础折线图
    • 设定横纵坐标
    • 设置中文显示
    • 添加网格
    • 添加描述信息
    • 再添加一个城市
  • 设置两个折线图

前言

上一节内容主要围绕介绍 Matplotlib 的画板结构。
链接:https://blog.csdn.net/weixin_43098506/article/details/129331576
本节内容围绕 折线图。
下一节内容围绕 散点图与柱状图。
链接:https://blog.csdn.net/weixin_43098506/article/details/129333625



正文

折线图

完整代码与效果 的后续小节将会对完整代码进行分解。

完整代码与效果

完整代码:

import random
import matplotlib
import matplotlib.pyplot as plt# 设置中文字体显示
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号# 设置数组
x = range(60)
y1 = [random.uniform(15,18) for i in x]
y2 = [random.uniform(0,3) for i in x]# 创建画布,规定大小以及清晰度
plt.figure(figsize=(20,8), dpi=80)# 绘制折线图像
plt.plot(x, y1, color="orange", linestyle="--", label="data1")
plt.plot(x, y2, label="data2")# 设置 x,y 坐标内容
x_label = ["11点{}分".format(i) for i in x]
plt.xticks(x[::5], x_label[::5])
plt.yticks(range(0,40,5))# 添加网格
plt.grid(True, linestyle="--", alpha=0.5)# 添加描述信息
plt.title("某城市11点到12点间温度变化状况")
plt.xlabel("时间")
plt.ylabel("温度")# 显示图例
plt.legend(loc="upper left")# 4、显示图像
plt.show()

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




基础折线图

# 1、准备数据,构建 x,y1 两个数组
import random
import matplotlib.pyplot as pltx = range(60)
y1 = [random.uniform(15,18) for i in x]# 2、创建画布,规定大小以及清晰度
plt.figure(figsize=(20,8), dpi=80)# 3、绘制折线图像
plt.plot(x, y1, color="orange", linestyle="--", label="data1")# 4、显示图像
plt.show()

设定横纵坐标

# 设置 x 的显示内容
x_label = ["11点{}分".format(i) for i in x]# 修改 x,y 刻度
plt.xticks(x[::5], x_label[::5])
plt.yticks(range(0,40,5))

设置中文显示

# 设置中文字体显示
import matplotlib
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号

添加网格

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

添加描述信息

# 添加描述信息
plt.title("某城市11点到12点间温度变化状况")
plt.xlabel("时间")
plt.ylabel("温度")

再添加一个城市

# 再添加一个城市
y2 = [random.uniform(0,3) for i in x]
plt.plot(x, y2, label="data2")

------ 代码分解部分完成 ------




设置两个折线图

如何实现在一个图片中平行展示两个城市的温度变化图片?
主要方法通过 plt.subplots(nrows=, ncols= ) 函数分成想要的图片个数以及格式。

plt.subplots(nrows=1, ncols=2, figsize(20,8), dpi=80)

以上代码将画布分为左右两个部分(1行2列),画布的大小为 20*8,清晰度为 80.

完整代码:
注意:代码中多数变化为 set_函数,需要注意到画布的变化带来的设置函数的变化

import random
import matplotlib.pyplot as plt# 设置中文字体显示
import matplotlib
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号# 1、准备数据,构建 x,y 两个数组
x = range(60)
y1 = [random.uniform(15,18) for i in x]
y2 = [random.uniform(0,3) for i in x]# 2、创建两个画布(1行2列),规定大小以及清晰度
figure, axes = plt.subplots(nrows=1, ncols=2, figsize=(20,8), dpi=80)# 3、绘制折线图像
axes[0].plot(x, y1, color="orange", linestyle="--", label="data1")
axes[1].plot(x, y2, color="blue", linestyle="-", label="data2")# 设置 x 的显示内容
x_label = ["11点{}分".format(i) for i in x]# 修改 x,y 刻度
axes[0].set_xticklabels(x_label[::5])
axes[0].set_yticks(range(0,40,5))
axes[1].set_xticklabels(x_label[::5])
axes[1].set_yticks(range(0,40,5))# 添加网格
axes[0].grid(True, linestyle="--", alpha=0.5)
axes[1].grid(True, linestyle="--", alpha=0.5)# 添加描述信息
axes[0].set_title("城市一11点到12点间温度变化状况")
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[1].set_title("城市二11点到12点间温度变化状况")
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")# 显示图例
axes[0].legend(loc="upper left")
axes[1].legend(loc="upper left")# 4、显示图像
plt.show()

效果图:

在这里插入图片描述


上一节内容主要围绕介绍 Matplotlib 的画板结构。
链接:https://blog.csdn.net/weixin_43098506/article/details/129331576
下一节内容围绕 散点图与柱状图。
链接:https://blog.csdn.net/weixin_43098506/article/details/129333625

相关文章:

【Python - Matplotlib】P2 plot 折线图

Matplotlib绘制折线图折线图完整代码与效果基础折线图设定横纵坐标设置中文显示添加网格添加描述信息再添加一个城市设置两个折线图前言 上一节内容主要围绕介绍 Matplotlib 的画板结构。 链接:https://blog.csdn.net/weixin_43098506/article/details/129331576 本…...

【Verilog】——模块,常量,变量

目录 1.模块 1.描述电路的逻辑功能 2. 门级描述 3.模块的模板​编辑 2.关键字 3.标识符 4.Verilog源代码的编写标准 5.数据类型 1.整数常量​ 2.参数传递的两种方法 3.变量 4.reg和wire的区别 5.沿触发和电平触发的区别​ 6.memory型变脸和reg型变量的区别​ 1.模块 1.描…...

论文投稿指南——中文核心期刊推荐(电影、电视艺术)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…...

Pip install 和Conda install 总结

版本一 conda install xxx:这种方式安装的库都会放在/Users/orion-orion/miniforge3/pkgs目录下。我们在我们的虚拟环境中要用到或下载时先到该路径下去找,若有则直接将其复制到我们的虚拟环境中包得存放位置: ~/site-packages/。若没有,则先…...

嵌入式系统实验——【玄武F103开发板】实现两个LED小灯闪烁

目录一、实验文件main.cstm32f10x.h二、实验思路(一)打开两个LED小灯1.在玄武F103开发板上找到LED0、LED1对应的GPIO控制寄存器2.找到GPIOB、GPIOE的地址3.打开APB2外设时钟的使能寄存器4.对GPIO寄存器进行设置对端口输出寄存器进行设置(二&a…...

数组之双指针题

文章目录一、最长连续不重复子序列1.题目介绍2.思路3.二、长度最小的子数组1.题目介绍2.思路3.代码三、数组元素的目标和1.题目介绍2.思路3.代码总结其实在之前我写过不少双指针得题解,刷题专练之数组移除元素 刷题专练之翻转题练习这两篇文章的题解基本就是双指针法…...

真实需求和梦想实现满足

多少的时光和岁月中都不曾认真系统的深度思考自己的真实需求和欲望之间是否一致,随着时间的流逝才发现自己追求的是一场空,自己的真实需求并不是苦苦追求的东西,这也是当梦想照进现实!欲望是无善无恶的,不必为了满足自…...

[ant-design-vue] tree 组件功能使用

[ant-design-vue] tree 组件功能使用描述环境信息相关代码参数说明描述 是希望展现一个树形的菜单,并且对应的菜单前有复选框功能,但是对比官网的例子,我们在使用的过程中涉及到对半选中情况的处理: 半选中状态: 选中…...

QT父子窗口事件传递与事件过滤器

处理监控系统的时候遇到问题,在MainWidget中创建多个子Widget的时候,原意是想鼠标点击先让MainWidget截获处理后再分派给子Widget去处理,但调试后发现如果子Widget重新实现了事件方法,就直接处理掉事件了,没有进到Main…...

【2.4 golang中的循环语句for】

- 循环语句for 1. 循环语句for 1.1.1. Golang for支持三种循环方式,包括类似 while 的语法。 for循环是一个循环控制结构,可以执行指定次数的循环。 语法 Go语言的For循环有3中形式,只有其中的一种使用分号。 for init; condition; pos…...

Windows 系统下 Apache 和 php 环境怎么搭建?

传统搭建方法在 Windows 系统下,可以通过以下步骤来搭建 Apache 和 PHP 环境:1.下载 Apache 在 Apache 官网下载最新版本的 Apache,例如下载地址为 https://httpd.apache.org/download.cgi。2.安装 Apache 将下载的 Apache 压缩包解压到某个目…...

Python基础知识——字符串、字典

字符串 在Python中,字符和字符串没有区别。可能有些同学学过其他的语言,例如Java,在Java中,单引号’a’表示字符’a’,双引号"abc"表示字符串"abc",但在Python当中,它们没…...

JVM常用指令

JVM常用指令1.准备工作2.jps3. jconsole4.jstat5.jstack6.jmap7.jvisualvm工具8.自动dump内存信息1.准备工作 在idea中编写代码 public class JVMTest {Testpublic void test() throws InterruptedException {while (true) {Thread.sleep(1000);System.out.println(123);}} }…...

排序中常见的一些指标

1、错误率与精度 错误率与精度是分类任务中最常用的两种性能度量,错误率是指分类错误的样本占样本总数的比例,精度则是分类正确的样本数占样本总数的比例。 错误率: 精度: 2、准确率/召回率/FScore True Positive(真正例, TP)&…...

51单片机入门————数码管显示

我们在马路上看到的红绿灯,就是由数码管来实现的,就是其中可能加入了一些延时和转换数码管是通过控制138译码器与74HC245来控制数码管的亮灭与数字的显示电路原理图我们先讨论一个数码管数码管有共阳极和共阴极,我们现在使用的STC89C52是共阴…...

Spring事务未生效场景

一.抛出事务不支持的异常 原理: Spring事务默认支持RuntimeException异常,抛出的异常为RuntimeException异常及其子类异常事务均可生效,而我们日常常见的异常基本都继承自RuntimeException,所以无需指定异常类型事务也能生效。但…...

servlet注解开发

文章目录servlet注解开发内容回顾响应对象 HttpServletResponse重定向与请求转发ServletConfig简介案例ServletContext简介案例Servlet 注解开发简介注解使用案例WebServlet 注解详细参数综合的增删改查案例登录注册功能servlet注解开发 内容回顾 响应对象 HttpServletRespon…...

mysql一联合主键

联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。 可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了&…...

openpnp - 判断吸嘴是否指定了正确的旋转轴

文章目录openpnp - 判断吸嘴座是否指定了正确的旋转轴概述笔记吸嘴单独矫正的时候Calibrate precise camera ↔ nozzle N1 offsets.ENDopenpnp - 判断吸嘴座是否指定了正确的旋转轴 概述 如果没有指定吸嘴座的正确旋转轴, 会因为对应吸嘴该旋转时不旋转, 而是另外一个空闲的吸…...

【办公类-19-03】办公中的思考——Python批量统一文件名的序号(保教主任整理打印文件)

背景需求:为迎接督导检查,保教主任从各条线收集文本资料。并在每个文件名称前手动编号。但是她嘀咕道:”为什么两套资料放在一个文件里就不是按照数字序号排序?,有的是1X-,有的是40X,看起来很乱…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)​现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

高效的后台管理系统——可进行二次开发

随着互联网技术的迅猛发展,企业的数字化管理变得愈加重要。后台管理系统作为数据存储与业务管理的核心,成为了现代企业不可或缺的一部分。今天我们要介绍的是一款名为 若依后台管理框架 的系统,它不仅支持跨平台应用,还能提供丰富…...