-
Notifications
You must be signed in to change notification settings - Fork 0
/
charts.py
56 lines (50 loc) · 1.39 KB
/
charts.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
from panel import Column, extension
from panel.template import FastListTemplate
from plotly.graph_objects import Bar, Figure, Pie
def bar_chart() -> Figure:
fig = Figure()
names = ['name_1', 'name_2']
values = [[8.5], [1.5]]
for i, name in enumerate(names):
fig.add_trace(
Bar(
y=[''],
x=values[i],
name=name,
orientation='h'
)
)
fig.update_layout(
title='Minimal example go.Bar',
xaxis_title='x_axis',
barmode='stack'
)
fig.update_traces(hovertemplate='%{y:.1f}%{x}')
return fig
def pie_chart() -> Figure:
fig = Figure()
names = ['name_1', 'name_2', 'name_3']
values = [3, 2, 5]
fig.add_trace(
Pie(
labels=names,
values=values,
title=dict(
text='Minimal go.Pie',
position='top left'
),
hole=0.3,
textposition='inside',
hovertemplate='%{label}<br>%{value:.1f}%<extra></extra>'
)
)
return fig
def main() -> None:
extension('plotly')
template: FastListTemplate = FastListTemplate(
title='Minimal example',
main=Column(bar_chart(), pie_chart())
)
template.show()
if __name__ == '__main__':
main()