python读取sqlite温度数据,并画出折线图
需求:
在Windows下请用python画出折线图,x轴是时间,y轴是温度temperature 和体感温度feels_like_temperature 。可以选择县市近1小时,近1天,近1个月的。sqlite文件weather_data.db当前目录下,建表结构如下: CREATE TABLE IF not EXISTS weather ( id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp TEXT, weather1 TEXT, temperature TEXT, humidity TEXT, feels_like_temperature TEXT, wind TEXT)
实现代码(deepseek、通义、文心一言提供的都报错,多次修改后才行)
import sqlite3
import pandas as pd
import matplotlib
matplotlib.use('Agg') # 设置为非交互式后端
import matplotlib.pyplot as plt
from datetime import datetime
from matplotlib.ticker import MaxNLocator# 连接到SQLite数据库
conn = sqlite3.connect('weather_data.db')# 查询数据
query = """
SELECT timestamp, temperature, feels_like_temperature, humidity
FROM weather
ORDER BY timestamp
"""# 将数据读取到Pandas DataFrame中
df = pd.read_sql_query(query, conn)# 关闭数据库连接
conn.close()# 将timestamp列转换为datetime类型
df['timestamp'] = pd.to_datetime(df['timestamp'])# 设置时间范围为近1小时、近1天、近1个月
now = datetime.now()
one_hour_ago = now - pd.Timedelta(hours=1)
one_day_ago = now - pd.Timedelta(days=1)
one_month_ago = now - pd.Timedelta(days=30)# 过滤数据
df_last_hour = df[df['timestamp'] >= one_hour_ago]
df_last_day = df[df['timestamp'] >= one_day_ago]
df_last_month = df[df['timestamp'] >= one_month_ago]# 绘制折线图
def plot_weather_data(data, title):fig, ax1 = plt.subplots(figsize=(12, 6))# 绘制温度和体感温度color = 'tab:red'ax1.set_xlabel('Time')ax1.set_ylabel('Temperature (°C)', color=color)ax1.plot(data['timestamp'], data['temperature'], label='Temperature (°C)', color=color)ax1.plot(data['timestamp'], data['feels_like_temperature'], label='Feels Like Temperature (°C)', color='tab:orange', linestyle='--')ax1.tick_params(axis='y', labelcolor=color)ax1.legend(loc='upper left')# 设置y轴的最大刻度数量ax1.yaxis.set_major_locator(MaxNLocator(nbins=10)) # 例如,最多6个主要刻度# 创建第二个y轴,绘制湿度ax2 = ax1.twinx()color = 'tab:blue'ax2.set_ylabel('Humidity (%)', color=color)ax2.plot(data['timestamp'], data['humidity'], label='Humidity (%)', color=color, linestyle=':')ax2.tick_params(axis='y', labelcolor=color)# 设置第二个y轴的最大刻度数量(如果需要)ax2.yaxis.set_major_locator(MaxNLocator(nbins=12)) # 例如,最多6个主要刻度ax2.legend(loc='upper right')# 设置标题和格式plt.title(title)plt.xticks(rotation=45)plt.tight_layout()plt.savefig(f"{title}.png") # 保存图像到文件plt.close() # 关闭图像以释放内存# 绘制近1小时的天气数据
plot_weather_data(df_last_hour, 'Weather Data in the Last Hour')# 绘制近1天的天气数据
plot_weather_data(df_last_day, 'Weather Data in the Last Day')# 绘制近1个月的天气数据
plot_weather_data(df_last_month, 'Weather Data in the Last Month')
生成的图片
相关文章:
python读取sqlite温度数据,并画出折线图
需求: 在Windows下请用python画出折线图,x轴是时间,y轴是温度temperature 和体感温度feels_like_temperature 。可以选择县市近1小时,近1天,近1个月的。sqlite文件weather_data.db当前目录下,建表结构如下…...
《论企业集成平台的理解与应用》审题技巧 - 系统架构设计师
企业集成平台的理解与应用——论文写作框架 一、考点概述 本论题“企业集成平台的理解与应用”主要考察的是计算机软件测试工程师对于企业集成平台(EIP)的深入理解以及在实际项目中的应用能力。论题涵盖了以下几个核心内容: 首先ÿ…...
UE Python笔记
插件 官方 商城 Python Editorhttps://www.fab.com/listings/f4c99ba0-1a86-4f6a-b19d-2fd13f15961b GitHUB 好像只更新到了2020年4.2x的版本。可能有大佬改了5.x的版本。也希望分享给我一份。谢谢 https://github.com/20tab/UnrealEnginePython 学习笔记 网上教程一大堆。…...
使用django调用deepseek api,搭建ai网站
一、deepseek简介 DeepSeek是一家人工智能公司,专注于开发先进的人工智能模型和技术。以下是关于DeepSeek的一些详细介绍: 1.公司背景 DeepSeek由杭州深度求索人工智能基础技术研究有限公司开发,致力于通过创新的技术和算法,推…...
YOLOv12 ——基于卷积神经网络的快速推理速度与注意力机制带来的增强性能结合
概述 实时目标检测对于许多实际应用来说已经变得至关重要,而Ultralytics公司开发的YOLO(You Only Look Once,只看一次)系列一直是最先进的模型系列,在速度和准确性之间提供了稳健的平衡。注意力机制的低效阻碍了它们在…...
两台互通的服务器使用Docker部署一主两从MySQL8.0.35
文章目录 1. 使用Docker Overlay网络(需Swarm模式)在服务器1(172.25.0.19)上:在服务器2(172.25.0.20)上:创建 overlay 网络(172.25.0.19): 2. 部署…...
Java23种设计模式案例
目录 一、概述 二、创建型模式 (Creational Patterns) 单例模式 (Singleton Pattern) 工厂方法模式 (Factory Method Pattern) 抽象工厂模式 (Abstract Factory Pattern) 建造者模式 (Builder Pattern) 原型模式 (Prototype Pattern) 三、结构型模式 (Structu…...
stm32hal库寻迹+蓝牙智能车(STM32F103C8T6)
简介: 这个小车的芯片是STM32F103C8T6,其他的芯片也可以照猫画虎,基本配置差不多,要注意的就是,管脚复用,管脚的特殊功能,(这点不用担心,hal库每个管脚的功能都会给你罗列,很方便的.)由于我做的比较简单,只是用到了几个简单外设.主要是由带霍尔编码器电机的车模,电机…...
JavaScript知识点4
1.解释一下这段JavaScript代码 var fruits ["Apple", "Orange", "Apple", "Mango"]; var a fruits.indexOf("Apple",-1); console.log("index"a); 输出的a值为-1,indexOf的第二个参数是-1…...
形式化数学编程在AI医疗中的探索路径分析
一、引言 1.1 研究背景与意义 在数字化时代,形式化数学编程和 AI 形式化医疗作为前沿领域,正逐渐改变着我们的生活和医疗模式。形式化数学编程是一种运用数学逻辑和严格的形式化语言来描述和验证程序的技术,它通过数学的精确性和逻辑性,确保程序的正确性和可靠性。在软件…...
QT 引入Quazip和Zlib源码工程到项目中,无需编译成库,跨平台,加密压缩,带有压缩进度
前言 最近在做项目时遇到一个需求,需要将升级的文件压缩成zip,再进行传输; 通过网络调研,有许多方式可以实现,例如QT私有模块的ZipReader、QZipWriter;或者第三方库zlib或者libzip或者quazip等࿱…...
Ubuntu 安装 Nginx并配置反向代理
Ubuntu版本:Ubuntu 24.04.2 LTS 一、安装Nginx 更新系统软件包 安装前需确保系统处于最新状态,避免依赖冲突 sudo apt update && sudo apt upgrade -y 安装Nginx主程序 Ubuntu官方仓库已包含稳定版Nginx,直接安装即可 sudo…...
GitHub SSH连接问题解决指南
🔍 GitHub SSH连接问题解决指南 问题描述 遇到错误:ssh: connect to host github.com port 22: Connection refused 说明您的网络环境无法访问GitHub的SSH端口22,常见原因: 防火墙/网络运营商限制(国内常见…...
C++ 跨平台的 GetCurrentThreadId() 获取当前线程ID实现
支持:C11 及早前标准库版本,而无需使用:std::this_thread::get_id()。 支持:NDK/ANDROID、Windows、Linux、MacOS X 等多个操作系统平台。 int64_t GetCurrentThreadId() noexcept { #if defined(_WIN32) || defined(_WIN64)retu…...
钉钉MAKE AI生态大会思考
1. 核心特性 1.1 底层模型开放 除原有模型通义千问外,新接入猎户星空、智普、MinMax、月之暗面、百川智能、零一万物。 1.2 AI搜索 AI搜索贯通企业和个人散落在各地的知识(聊天记录、文档、会议、日程、知识库、项目等),通过大模型对知识逻辑化,直接生成搜索的答案,并…...
SQL笔记#复杂查询
一、视图 1、视图和表 使用试图时会执行SELECT语句并创建一张临时表。视图中保存的是SELECT语句;表中保存的是实际数据。 2、创建视图的方法 CREATE VIEW 视图名称(<视图列名1>,<视图列名2>,……) AS <SELECT语句> CREATE VIEW ProductSum (prod…...
【Linux】基于UDP/TCP套接字编程与守护进程
目录 一、网路套接字编程 (一)基础概念 1、源IP地址与目的IP地址 2、端口号 3、TCP与UDP 4、网络字节序 (二)套接字编程接口 1、socket 常见API 2、sockaddr结构 (三)UDP套接字 1、UDP服务器创建…...
springboot 引入前端
前端 打包 npm run build vue.config.js 文件 publicPath 默认建议保持 / publicPath: ‘/’ 后端 目录 粘贴下面目录之一: src/main/resources/static/ src/main/resources/public/ 补充(用的少) server:servlet:context-path: /thirdAdm…...
RTSP/Onvif安防平台EasyNVR接入EasyNVS显示服务缺失的原因与解决方案
EasyNVS云管理平台具备强大的汇聚与管理功能,支持EasyGBS、EasyNVR等平台的接入,能够将接入的视频资源进行统一输出,提供远程可视化运维等管理功能,特别适合解决设备现场没有固定公网IP但仍需在公网直播的需求。 在某次用户现场部…...
算法系列之回溯算法
在计算机科学领域,算法是解决问题的核心。回溯算法作为一种经典的算法设计技巧,以其试错和回退的思想,在解决许多复杂问题时展现出强大的能力。本文将深入探讨回溯算法,包括其核心概念、实现步骤、代码示例以及适用场景࿰…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
