使用Matplotlib绘制模拟上海城市气温变化图

模拟上海气温变化折线图

实现步骤

  • 准备数据
  • 创建画布
  • 绘制图像
  • 显示图像

基本实现

示例代码:

import matplotlib.pyplot as plt
import random# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]# 创建画布
plt.figure(figure=(20,8), dpi=100)# 绘制图像
plt.plot(x, y_shanghai)# 显示图像
plt.show()

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

中文字体和刻度

通过以下代码,实现显示中文字体:

from pylab import mplmpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False

通过以下代码,实现添加刻度:

x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])

完整示例代码:

from pylab import mpl
import matplotlib.pyplot as plt
import random# 设置中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]# 创建画布
plt.figure(figure=(20,8), dpi=100)# 绘制图像
plt.plot(x, y_shanghai)# 添加刻度
x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])# 显示图像
plt.show()

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

添加网格

通过以下代码,实现添加网格:

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

完整示例代码:

from pylab import mpl
import matplotlib.pyplot as plt
import random# 设置中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]# 创建画布
plt.figure(figure=(20,8), dpi=100)# 绘制图像
plt.plot(x, y_shanghai)# 添加刻度
x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])# 添加网格
plt.grid(True, linestyle="--", alpha=0.5)# 显示图像
plt.show()

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

添加描述信息

通过以下代码,实现添加描述信息:

plt.xlabel("时间")
plt.ylabel("刻度")
plt.title("中午11点-12点某城市温度变化图")

完整示例代码:

from pylab import mpl
import matplotlib.pyplot as plt
import random# 设置中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]# 创建画布
plt.figure(figure=(20,8), dpi=100)# 绘制图像
plt.plot(x, y_shanghai)# 添加刻度
x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])# 添加网格
plt.grid(True, linestyle="--", alpha=0.5)# 添加描述信息
plt.xlabel("时间")
plt.ylabel("刻度")
plt.title("中午11点-12点某城市温度变化图")# 显示图像
plt.show()

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

图像保存

通过以下代码,实现保存图像:

plt.savefig("./test.png")

完整示例代码:

from pylab import mpl
import matplotlib.pyplot as plt
import random# 设置中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False# 准备数据
x = range(60)
y_shanghai = [random.uniform(15,18) for _ in x]# 创建画布
plt.figure(figure=(20,8), dpi=100)# 绘制图像
plt.plot(x, y_shanghai)# 添加刻度
x_ticks_label = [f"11点{i:02d}分" for i in x]
y_ticks = range(40)
plt.xticks(x[::10], x_ticks_label[::10])
plt.yticks(y_ticks[::5])# 添加网格
plt.grid(True, linestyle="--", alpha=0.5)# 添加描述信息
plt.xlabel("时间")
plt.ylabel("刻度")
plt.title("中午11点-12点某城市温度变化图")# 保存图像
plt.savefig("./test.png")# 显示图像
plt.show()

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

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

相关文章

Java 基础学习(十九)网络编程、反射

1 Socket编程 1.1 Socket编程概述 1.1.1 Socket简介 在网络编程中,Socket(套接字)是一种抽象概念,它用于在不同计算机之间进行通信。Socket可以看作是一种通信的端点,可以通过Socket与其他计算机上的程序进行数据传…

angular-tree-component组件中实现特定节点自动展开

核心API 都在 expandToNode这个函数中 HTML treeData的数据结构大概如下 [{"key": "3293040275","id": "law_category/3293040275","name": "嘿嘿嘿嘿","rank": 0,"parentKey": "0&q…

盛最多水的容器(力扣11题)

例题: 分析: 这道题给出了一个数组,数组里的元素可以看成每一个挡板,要找到哪两个挡板之间盛的水最多,返回盛水量的最大值。这其实是一个双指针问题。 我们可以先固定第一个挡板( i )和最后一个挡板( j )&#xff0c…

gitee创建仓库

描述 本文章记录了怎么在gitee上创建项目,以及使用vscode提代码到远程呢个仓库,如何创建一个新分支,并将新分支提交到远程仓库。 1、创建远程仓库 在创建远程仓库之前要先进行ssh密钥的设置 (1)打开黑窗口&#xff…

计算机丢失mfc110.dll的5种常用解决方法分享

丢失动态链接库文件(DLL)是比较常见的一种情况,其中之一就是“计算机丢失mfc110.dll”。这个问题通常是由于系统文件损坏或缺失引起的,给计算机的正常运行带来了困扰。为了解决这个问题,我总结了以下五种方法&#xff…

深入解析 迭代器

前言 问:什么是迭代器 ? 答:在C# 中,迭代器是一种设计模式,它允许一个类或集合(比如数组、列表或字典)的实例提供一种遍历其元素的方式。在C#2时引入的迭代器,来简化这一过程。 在C#中有少…

【每天五道题,轻松公务员】Day2:世界地理

目录 专栏了解 ☞欢迎订阅☜ ★专栏亮点★ ◇专栏作者◇ 世界地理 题目一 题目二 题目三 题目四 题目五 答案 详细讲解 专栏了解 ☞欢迎订阅☜ 欢迎订阅此专栏:考公务员,必订!https://blog.csdn.net/m0_73787047/category_1254…

顶帽运算在OpenCv中的应用

项目背景 假如我们拍了一张自拍,想为自己的照片添加一个酷炫的火星飞舞的效果,素材库中正好有一张火焰的照片,如果想去除图中的火焰,只保留火星效果,可以使用顶帽子算法 图片中的火星部分正好属于比周围亮一些的斑块…

LabVIEW开发滚筒洗衣机动态监测系统

LabVIEW软件在滚筒洗衣机的动态监测和分析中扮演着关键角色。本案例展示了如何利用LabVIEW开发的系统来优化洗衣机的性能和可靠性。 首先,在建立洗衣机的动力学模型基础上,利用LabVIEW进行了关键零部件的动态优化设计。通过LabVIEW的高级计算和模拟功能…

【JavaFX】JDK11 基于Gson、hutool、Jackson持久化存储实体类数据的解决方案 (读取、追加、去重、写入json对象)

文章目录 开发环境效果前言一、Gson是什么?二、使用步骤1.引入依赖2.创建实体类创建 JsonFileService类创建JsonFileService的实现类 JsonFileServiceImpl三、实现效果开发环境 JDK11IDEA 2023.3Gson、hutool、JacksonJavaFX 11效果 前言 使用JDK1

112. 雷达设备(贪心/逆向思考)

题目&#xff1a; 112. 雷达设备 - AcWing题库 输入样例&#xff1a; 3 2 1 2 -3 1 2 1输出样例&#xff1a; 2 思路&#xff1a; 代码&#xff1a; #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include<…

组件通信方式

组件通信方式有&#xff1a;vuex&#xff0c;ref&#xff0c;父子通信&#xff08;父传子、子传父&#xff09;&#xff0c;兄弟通信(eventBus)&#xff0c; 祖先后代通信&#xff08;依赖注入&#xff09; 父传子&#xff1a;父组件内&#xff1a;在子组件标签上设置自定义属…

BMS、AFE、菊花链技术

一、BMS的分布式架构和集中式架构 AFE在从板中&#xff0c;用来采集电池电压和温度&#xff0c;以及均衡管理 BMS通常以分布式架构为主&#xff0c;即分为主板和从板。原来主从板上都有微处控制器。从板采集单体电池电压和温度&#xff0c;通过CAN总线传给主板。 而现在的趋势…

Oracle-数据库迁移之后性能变慢问题分析

问题背景&#xff1a; ​一套Oracle11.2.0.4的RAC集群&#xff0c;通过Dataguard switchover方式迁移到新机器之后&#xff0c;运行第一天应用报障说应用性能慢&#xff0c;需要进行性能问题排查 问题分析&#xff1a; 首先&#xff0c;登陆到服务器&#xff0c;用TOP看一眼两个…

虾皮马来站点选品:在虾皮(Shopee)5个热门品类和市场特点

在虾皮&#xff08;Shopee&#xff09;马来西亚站点选择商品时&#xff0c;卖家应该考虑一些热门品类和市场特点&#xff0c;以确保他们的产品能够满足当地消费者的需求并取得良好的销售业绩。以下是在虾皮&#xff08;Shopee&#xff09;马来西亚站点销售商品时需要考虑的五个…

高德地图信息窗体设置

1. 添加默认信息窗体 //构建信息窗体中显示的内容var info [];info.push(<div style"height: 36px; line-height: 45px; padding: 0px 20px; white-space:nowrap;">位置&#xff1a;北京</div>);info.push(<div style"height: 36px; line-heig…

裂变新模式:分销市场的翘楚

在当今的商业世界&#xff0c;推荐机制已经成为一种重要的营销策略。通过用户推荐&#xff0c;企业不仅能够扩大品牌影响力&#xff0c;还能有效降低获客成本。然而&#xff0c;如何设计一个合理的推荐机制&#xff0c;使得用户有足够的动力去推荐新人&#xff0c;同时保持团队…

【Java】接口和抽象类有什么共同点和区别?

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 【Java】接口和抽象类有什么共同点和区别&…

基于遗传算法的药品配送,遗传算法原理

目录 背影 遗传算法的原理及步骤 基本定义 编码方式 适应度函数 运算过程 代码 结果分析 完整代码下载: 基于遗传算法的药品配送 背影 基于遗传算法的药品配送,求解运算量大,一般都无法用直接求解,本文用遗传算法进行求解,遗传算法拥有更好的全局寻优能力, 遗传算法 …

SQL Server注入之攻防技战法

那天下着很大的雨&#xff0c;母亲从城里走回来的时候&#xff0c;浑身就是一个泥人&#xff0c;那一刻我就知道我没有别的选择了 1.Mssql报错注入 0.判断数据库类型 1.爆当前用户名 2.爆版本 3.爆服务器名 4.判断数据库个数 5.获取全部数据库 语句只适合>2005 爆当前数据…