【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,看起来很乱…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...