Pandas показывает данные в неправильной диаграмме - PullRequest
0 голосов
/ 20 июня 2020

У меня есть две функции, каждая из которых создает диаграмму. Но когда я запускаю эти две функции, во второй находятся данные, которые должны быть в первой. Вот схемы: enter image description here

This diagramm shows the temerature введите описание изображения здесь

А этот должен показывать только данные о влажности. Не данные о влажности и температуре. Вот мой исходный код:

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()

База данных / DataFrame выглядит так:

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

Надеюсь, вы можете мне помочь

1 Ответ

1 голос
/ 21 июня 2020

Вы можете попробовать это. 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...