数据太多了1秒一条。一天好9w数据。数据用图画出出来的折线图,就是一块柱状图。怎么才能减少间隔比如 数据库查询的时候间隔10条取一条。或者plotly画图的时候间隔10条取一条
import os
import numpy as np
import pandas as pd
import sqlite3
import plotly as py
import plotly.graph_objs as go
#import plotly.expression as px
from plotly import tools
import datetime
import warnings
warnings.filterwarnings("ignore")
# 使用8266 dht11做到温湿度采集。上传到腾讯我的vos服务器,自己做的http接受字符串程序
# 使用8266 dht11做到温湿度采集。上传到腾讯我的vos服务器,自己做的http接受字符串程序
#建立数据库连接
#conn = pymysql.connect("192.168.6.128","root","root","test_db",charset="utf8")
con=sqlite3.connect("220604_temp_dht11.db")
print("连接成功")
#读取数据库表数据
cursor = con.cursor()
#dataCopy = cursor.execute("select * from t1 where sdate>'2022-05-04' order by id desc ")
#dataCopy = cursor.execute("select * from t1 order by id desc Limit 15000 ")
dataCopy = cursor.execute("select * from t1 order by id desc ")
#data = pd.read_sql("select * from t1 Limit 100 order by id desc ",con=con)
values = dataCopy.fetchall()
#for row in values:
# 使用Pandas的DataFrame来处理每一行要比使用一个包含元组的元组方便
# 下面的Python代码片段将所有行转化为DataFrame实例
df = pd.DataFrame([[ij for ij in i] for i in values])
# print(df)
# 步骤一
df.rename(columns={0: 'id', 1: 'tt', 2: 'hh', 4: 'sdate'}, inplace=True)
#xx=datetime.datetime.strftime(df["sdate"],'%Y-%m-%d')
trace0 = go.Scatter(x=df["sdate"],y=df["tt"],name="温度")
trace1 = go.Scatter(x=df["sdate"],y=df["hh"],name="湿度")
# 步骤二
data = [trace0,trace1]
# 步骤三
fig = go.Figure(data)
# 步骤四
fig.update_layout(
xaxis_title="年份",
yaxis_title="温湿度"
)
# 步骤五
output_path = "C:/bar.html"
py.offline.plot(fig, filename=output_path)
#fig.show()