当前位置: 首页 > 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,看起来很乱…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

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

一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...