Pandas在错误的图表中显示数据

2024-04-26 14:44:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个函数,它们都创建了一个图表。但是当我运行这两个函数时,第二个函数中的数据应该在第一个函数中。以下是图表:enter image description here

这张图表显示了温度 enter image description here

这个应该只显示湿度数据。不是湿度和温度数据。 以下是我的源代码:

from pandas import DataFrame
import sqlite3
import matplotlib.pyplot as plt
import pandas as pd
from datetime import date, datetime



datum = str(date.today())
date = [datum]

con = sqlite3.connect("/home/pi/test2.db")

sql = "SELECT * from data4 WHERE date in (?)"
df3 = pd.read_sql_query(sql,con, params=[datum])

def daily_hum():

    df3 = pd.read_sql_query(sql,con, params=[datum])
    df3['datetime'] = pd.to_datetime((df3.date + ' ' + df3.time))
    df3.groupby([df3.datetime]).hum.mean().plot()
    plt.savefig('/home/pi/flask/static/daily_hum.jpg')
  

def daily_temp1():
    
    df4 = pd.read_sql_query(sql,con, params=[datum])
    df4['datetime'] = pd.to_datetime((df4.date + ' ' + df4.time))
    df4.groupby([df4.datetime]).temp.mean().plot()
    plt.savefig('/home/pi/flask/static/daily_temp.jpg')
    
    

daily_temp()
daily_hum()

数据库/数据框如下所示:

id,hum,temp,zeit,date
721,60,21,11:04:23,2020-06-21
722,64,22,11:04:24,2020-06-21
723,68,22,11:04:27,2020-06-21
724,70,22,11:07:20,2020-06-21
725,63,22,11:08:20,2020-06-21
726,63,22,11:09:21,2020-06-21
727,63,22,11:10:22,2020-06-21
728,63,22,11:11:22,2020-06-21
729,69,22,11:12:24,2020-06-21
730,64,22,11:13:29,2020-06-21
731,70,22,11:14:32,2020-06-21
732,64,22,11:15:33,2020-06-21
733,64,22,11:16:34,2020-06-21
734,64,22,11:17:34,2020-06-21
735,64,22,11:18:35,2020-06-21
736,64,22,11:19:35,2020-06-21
737,64,22,11:20:36,2020-06-21
738,64,22,11:21:37,2020-06-21
739,64,22,11:22:37,2020-06-21
740,64,22,11:23:38,2020-06-21
741,65,22,11:24:38,2020-06-21
742,65,22,11:25:39,2020-06-21
743,65,22,11:26:40,2020-06-21
744,65,22,11:27:40,2020-06-21

我希望你能帮助我


Tags: 数据函数importsqldatetimedate图表con
1条回答
网友
1楼 · 发布于 2024-04-26 14:44:29

你可以试试这个。Matplotlib需要知道,您是否希望每个绘图都有一个新图形

from pandas import DataFrame
import sqlite3
import matplotlib.pyplot as plt
import pandas as pd
from datetime import date, datetime



datum = str(date.today())
date = [datum]

con = sqlite3.connect("/home/pi/test2.db")

sql = "SELECT * from data4 WHERE date in (?)"
df3 = pd.read_sql_query(sql,con, params=[datum])


df3['datetime'] = pd.to_datetime((df3.date + ' ' + df3.time))

# new figure
fig, ax = plt.subplots()

# Some figure modifying code
fig.suptitle('Titel of Figure')
ax.set_xlabel('X-Label')
ax.set_ylabel('Y-Label')

df3.groupby([df3.datetime]).hum.mean().plot(ax=ax)
plt.savefig('/home/pi/flask/static/daily_hum.jpg')

# new figure
fig, ax = plt.subplots()

# Some figure modifying code
fig.suptitle('Titel of Figure')
ax.set_xlabel('X-Label')
ax.set_ylabel('Y-Label')

df3.groupby([df3.datetime]).temp.mean().plot(ax=ax)
plt.savefig('/home/pi/flask/static/daily_temp.jpg')

相关问题 更多 >