⚡ Changed is it gonna end graph to ignore start and end date for better results
This commit is contained in:
parent
80927f470d
commit
374c44af3d
13
Analyser.py
13
Analyser.py
|
@ -256,8 +256,13 @@ class Analyser:
|
||||||
countryTimeData = countryData.loc[mask]
|
countryTimeData = countryData.loc[mask]
|
||||||
return (countryTimeData['deaths'].sum() / countryTimeData['cases'].sum() * 100)
|
return (countryTimeData['deaths'].sum() / countryTimeData['cases'].sum() * 100)
|
||||||
|
|
||||||
def getIsItOverGraph(self, country, start_date='2019-12-31', end_date=datetime.now().strftime('%Y-%m-%d'),
|
def getIsItOverGraph(self, country, showPlot=False) -> str:
|
||||||
showPlot=False) -> str:
|
"""
|
||||||
|
Get a logarhytmic graph that shows easily if the exponential growth has stopped.
|
||||||
|
:param country: The country to be compared. TODO: Change to a list of countries
|
||||||
|
:param showPlot: If a plot is to be shown in the console
|
||||||
|
:return: The file path for the plot
|
||||||
|
"""
|
||||||
countryString = country
|
countryString = country
|
||||||
fig = plt.figure()
|
fig = plt.figure()
|
||||||
fig.dpi = 200.0
|
fig.dpi = 200.0
|
||||||
|
@ -266,9 +271,7 @@ class Analyser:
|
||||||
ax.set_ylabel('Case Increase')
|
ax.set_ylabel('Case Increase')
|
||||||
ax.set_xlabel('Total Cases')
|
ax.set_xlabel('Total Cases')
|
||||||
for index, country in enumerate([country, 'China', 'South_Korea'], start=1):
|
for index, country in enumerate([country, 'China', 'South_Korea'], start=1):
|
||||||
countryData = self.df[self.df['countriesAndTerritories'].isin([country])]
|
countryTimeData = self.df[self.df['countriesAndTerritories'].isin([country])]
|
||||||
mask = (countryData['dateRep'] >= start_date) & (countryData['dateRep'] <= end_date)
|
|
||||||
countryTimeData = countryData.loc[mask]
|
|
||||||
countryTimeData = countryTimeData.sort_values('dateRep')
|
countryTimeData = countryTimeData.sort_values('dateRep')
|
||||||
countryTimeData['totalCases'] = countryTimeData['cases'].cumsum()
|
countryTimeData['totalCases'] = countryTimeData['cases'].cumsum()
|
||||||
countryTimeData[country] = countryTimeData['cases'].rolling(7).mean()
|
countryTimeData[country] = countryTimeData['cases'].rolling(7).mean()
|
||||||
|
|
|
@ -8,11 +8,11 @@ import sys
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from PyQt5.QtWidgets import *
|
from PyQt5.QtWidgets import *
|
||||||
from PyQt5.QtGui import *
|
from PyQt5.QtGui import *
|
||||||
from PyQt5.QtCore import QDate
|
from PyQt5.QtCore import *
|
||||||
import Analyser as ana
|
import Analyser as ana
|
||||||
|
|
||||||
|
|
||||||
class UserInterface(QWidget):
|
class UserInterface(QMainWindow):
|
||||||
def __init__(self, app):
|
def __init__(self, app):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
# Get Analyser instance and required stuff from it
|
# Get Analyser instance and required stuff from it
|
||||||
|
@ -26,6 +26,7 @@ class UserInterface(QWidget):
|
||||||
screen_width, screen_height = app.desktop().screenGeometry().width(), app.desktop().screenGeometry().height()
|
screen_width, screen_height = app.desktop().screenGeometry().width(), app.desktop().screenGeometry().height()
|
||||||
self.setGeometry(((screen_width / 2) - 750), ((screen_height / 2) - 375), 1500, 750)
|
self.setGeometry(((screen_width / 2) - 750), ((screen_height / 2) - 375), 1500, 750)
|
||||||
self.setMinimumWidth(1500)
|
self.setMinimumWidth(1500)
|
||||||
|
self.setMinimumHeight(500)
|
||||||
|
|
||||||
# Layout boxes
|
# Layout boxes
|
||||||
self.header_box = QHBoxLayout()
|
self.header_box = QHBoxLayout()
|
||||||
|
@ -107,7 +108,11 @@ class UserInterface(QWidget):
|
||||||
layout.addLayout(self.graphBox)
|
layout.addLayout(self.graphBox)
|
||||||
layout.addStretch(1)
|
layout.addStretch(1)
|
||||||
|
|
||||||
self.setLayout(layout)
|
self.scrollArea = QScrollArea()
|
||||||
|
self.scrollArea.setLayout(layout)
|
||||||
|
self.scrollArea.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
|
||||||
|
|
||||||
|
self.setCentralWidget(self.scrollArea)
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
def btnstate(self):
|
def btnstate(self):
|
||||||
|
@ -135,7 +140,7 @@ class UserInterface(QWidget):
|
||||||
deathGraphPath = self.analyser.getDeathGraph(country, startDate, endDate)
|
deathGraphPath = self.analyser.getDeathGraph(country, startDate, endDate)
|
||||||
deathIncreaseGraphPath = self.analyser.getDeathIncreaseGraph(country, startDate, endDate)
|
deathIncreaseGraphPath = self.analyser.getDeathIncreaseGraph(country, startDate, endDate)
|
||||||
deathRateGraphPath = self.analyser.getDailyDeathRateGraph(country, startDate, endDate)
|
deathRateGraphPath = self.analyser.getDailyDeathRateGraph(country, startDate, endDate)
|
||||||
isItOverGraph = self.analyser.getIsItOverGraph(country, startDate, endDate)
|
isItOverGraph = self.analyser.getIsItOverGraph(country)
|
||||||
self.graphPlaceHolder = QLabel(self)
|
self.graphPlaceHolder = QLabel(self)
|
||||||
self.clearLayout(self.graphBox)
|
self.clearLayout(self.graphBox)
|
||||||
self.graphBox.addWidget(self.graphPlaceHolder)
|
self.graphBox.addWidget(self.graphPlaceHolder)
|
||||||
|
|
634
statsfile.csv
634
statsfile.csv
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user