-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patha-simple-app.py
103 lines (88 loc) · 2.42 KB
/
a-simple-app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
from ssl import Options
from typing import Text
import justpy as jp
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
from pytz import utc
data=pd.read_csv('reviews.csv',parse_dates=['Timestamp'])
#calculation of the average rating per day
data['Day'] = data['Timestamp'].dt.date
day_average = data.groupby(['Day']).mean()
from pandas.core.dtypes.common import classes
#template of code from HighChart for better presentation of graph
chart_def="""
{
chart: {
type: 'spline',
inverted: false
},
title: {
text: 'Atmosphere Temperature by Altitude'
},
subtitle: {
text: 'According to the Standard Atmosphere Model'
},
xAxis: {
reversed: false,
title: {
enabled: true,
text: 'Date'
},
labels: {
format: '{value}'
},
accessibility: {
rangeDescription: 'Range: 0 to 80 km.'
},
maxPadding: 0.05,
showLastLabel: true
},
yAxis: {
title: {
text: 'Average Rating'
},
labels: {
format: '{value}'
},
accessibility: {
rangeDescription: 'Range: -90°C to 20°C.'
},
lineWidth: 2
},
legend: {
enabled: false
},
tooltip: {
headerFormat: '<b>{series.name}</b><br/>',
pointFormat: '{point.x}: {point.y}'
},
plotOptions: {
spline: {
marker: {
enable: false
}
}
},
series: [{
name: 'Average Rating',
data: [[0, 15], [10, -50], [20, -56.5], [30, -46.5], [40, -22.1],
[50, -2.5], [60, -27.7], [70, -55.7], [80, -76.5]]
}]
}
"""
def app():
# Creating a web page
wp = jp.QuasarPage()
# heading
h1 = jp.QDiv(a=wp, text='Analysis of Course Reviews',classes="text-h3 text-center text-weight-bold")
# Displaying the chart
hc = jp.HighCharts(a=wp,options=chart_def)
#title of the chart
hc.options.title.text = "Average Rating by day"
hc.options.subtitle.text = "According the provided dataset"
#taking the dataset from the given dataframe
hc.options.xAxis.categories = list(day_average.index)
hc.options.series[0].data = list(day_average['Rating'])
return wp
jp.justpy(app)