3
3
import luigi
4
4
import dash
5
5
from dash import dcc
6
- from dash import html
6
+ from dash import html
7
7
from dash .dependencies import Input
8
8
from dash .dependencies import Output
9
9
import plotly .express as px
@@ -38,14 +38,14 @@ def reco_div_vs_user_div_vs_latent_factors(msd_dataset, local_scheduler=False):
38
38
merged = data_task .run ()
39
39
40
40
fig = px .scatter (
41
- merged ,
42
- x = 'diversity' ,
41
+ merged ,
42
+ x = 'diversity' ,
43
43
y = 'reco_diversity' ,
44
44
hover_data = ['user' ],
45
45
custom_data = ['n_factors' ],
46
46
animation_frame = 'n_factors' ,
47
47
animation_group = 'user' ,
48
- color = 'volume' ,
48
+ color = 'volume' ,
49
49
color_continuous_scale = px .colors .sequential .Viridis ,
50
50
width = float ('inf' ),
51
51
height = 900 ,
@@ -79,7 +79,7 @@ def reco_div_vs_user_div_vs_latent_factors(msd_dataset, local_scheduler=False):
79
79
], style = {'width' : '50%' })
80
80
81
81
], style = {'display' : 'flex' }),
82
-
82
+
83
83
# Data container
84
84
html .Div ([
85
85
dcc .Markdown ("""
@@ -131,7 +131,7 @@ def handle_click_data(click_data):
131
131
'common_tags'
132
132
]
133
133
user_info = {key : user_info [key ] for key in keys }
134
-
134
+
135
135
listened_tags_fig = px .bar (
136
136
listened_tag_distribution ,
137
137
title = 'Listened tags weight distribution' ,
@@ -147,11 +147,13 @@ def handle_click_data(click_data):
147
147
)
148
148
recommended_tags_fig .update_xaxes (range = [0 , 30 ])
149
149
recommended_tags_fig .update_layout (xaxis_tickangle = 45 )
150
-
150
+
151
151
else :
152
152
user_info = {}
153
- listened_tags_fig = px .bar (title = 'Listened tags weight distribution' )
154
- recommended_tags_fig = px .bar (title = 'Recommended tags weight distribution' )
153
+ listened_tags_fig = px .bar (
154
+ title = 'Listened tags weight distribution' )
155
+ recommended_tags_fig = px .bar (
156
+ title = 'Recommended tags weight distribution' )
155
157
156
158
return json .dumps (user_info , indent = 2 ), listened_tags_fig , recommended_tags_fig
157
159
@@ -181,14 +183,14 @@ def div_increase_vs_user_div_vs_latent_factors(msd_dataset, local_scheduler=Fals
181
183
merged = data_task .run ()
182
184
183
185
fig = px .scatter (
184
- merged ,
185
- x = 'diversity' ,
186
+ merged ,
187
+ x = 'diversity' ,
186
188
y = 'diversity_increase' ,
187
189
hover_data = ['user' ],
188
190
custom_data = ['n_factors' ],
189
191
animation_frame = 'n_factors' ,
190
192
animation_group = 'user' ,
191
- color = 'volume' ,
193
+ color = 'volume' ,
192
194
color_continuous_scale = px .colors .sequential .Viridis ,
193
195
width = float ('inf' ),
194
196
height = 900 ,
@@ -222,7 +224,7 @@ def div_increase_vs_user_div_vs_latent_factors(msd_dataset, local_scheduler=Fals
222
224
], style = {'width' : '50%' })
223
225
224
226
], style = {'display' : 'flex' }),
225
-
227
+
226
228
# Data container
227
229
html .Div ([
228
230
dcc .Markdown ("""
@@ -274,7 +276,7 @@ def handle_click_data(click_data):
274
276
'common_tags'
275
277
]
276
278
user_info = {key : user_info [key ] for key in keys }
277
-
279
+
278
280
listened_tags_fig = px .bar (
279
281
listened_tag_distribution ,
280
282
title = 'Listened tags weight distribution' ,
@@ -290,11 +292,13 @@ def handle_click_data(click_data):
290
292
)
291
293
recommended_tags_fig .update_xaxes (range = [0 , 30 ])
292
294
recommended_tags_fig .update_layout (xaxis_tickangle = 45 )
293
-
295
+
294
296
else :
295
297
user_info = {}
296
- listened_tags_fig = px .bar (title = 'Listened tags weight distribution' )
297
- recommended_tags_fig = px .bar (title = 'Recommended tags weight distribution' )
298
+ listened_tags_fig = px .bar (
299
+ title = 'Listened tags weight distribution' )
300
+ recommended_tags_fig = px .bar (
301
+ title = 'Recommended tags weight distribution' )
298
302
299
303
return json .dumps (user_info , indent = 2 ), listened_tags_fig , recommended_tags_fig
300
304
@@ -324,16 +328,16 @@ def reco_div_vs_user_div_vs_reco_volume(msd_dataset, local_scheduler=False):
324
328
merged = data_task .run ()
325
329
326
330
fig = px .scatter (
327
- merged ,
328
- x = 'diversity' ,
331
+ merged ,
332
+ x = 'diversity' ,
329
333
y = 'reco_diversity' ,
330
334
hover_data = ['user' ],
331
335
custom_data = ['n_recommendations' ],
332
336
animation_frame = 'n_recommendations' ,
333
337
animation_group = 'user' ,
334
338
# marginal_x='histogram',
335
339
# marginal_y='histogram',
336
- color = 'volume' ,
340
+ color = 'volume' ,
337
341
color_continuous_scale = px .colors .sequential .Viridis ,
338
342
width = float ('inf' ),
339
343
height = 900 ,
@@ -349,7 +353,7 @@ def reco_div_vs_user_div_vs_reco_volume(msd_dataset, local_scheduler=False):
349
353
tickvals = [1 , 1.477 , 2 , 2.477 , 3 ],
350
354
ticktext = ['10' , '30' , '100' , '300' , '1000' ],
351
355
))
352
-
356
+
353
357
app = dash .Dash ()
354
358
app .layout = html .Div ([
355
359
# Graphs container
@@ -367,7 +371,7 @@ def reco_div_vs_user_div_vs_reco_volume(msd_dataset, local_scheduler=False):
367
371
], style = {'width' : '50%' })
368
372
369
373
], style = {'display' : 'flex' }),
370
-
374
+
371
375
# Data container
372
376
html .Div ([
373
377
dcc .Markdown ("""
@@ -419,7 +423,7 @@ def handle_click_data(click_data):
419
423
'common_tags'
420
424
]
421
425
user_info = {key : user_info [key ] for key in keys }
422
-
426
+
423
427
listened_tags_fig = px .bar (
424
428
listened_tag_distribution ,
425
429
title = 'Listened tags weight distribution' ,
@@ -435,15 +439,17 @@ def handle_click_data(click_data):
435
439
)
436
440
recommended_tags_fig .update_xaxes (range = [0 , 30 ])
437
441
recommended_tags_fig .update_layout (xaxis_tickangle = 45 )
438
-
442
+
439
443
else :
440
444
user_info = {}
441
- listened_tags_fig = px .bar (title = 'Listened tags weight distribution' )
442
- recommended_tags_fig = px .bar (title = 'Recommended tags weight distribution' )
445
+ listened_tags_fig = px .bar (
446
+ title = 'Listened tags weight distribution' )
447
+ recommended_tags_fig = px .bar (
448
+ title = 'Recommended tags weight distribution' )
443
449
444
450
return json .dumps (user_info , indent = 2 ), listened_tags_fig , recommended_tags_fig
445
451
446
- app .run_server (debug = True , use_reloader = False )
452
+ app .run_server (debug = True , use_reloader = False )
447
453
448
454
449
455
def div_increase_vs_user_div_vs_reco_volume (msd_dataset , local_scheduler = False , alpha = 2 ):
@@ -470,16 +476,16 @@ def div_increase_vs_user_div_vs_reco_volume(msd_dataset, local_scheduler=False,
470
476
merged = data_task .run ()
471
477
472
478
fig = px .scatter (
473
- merged ,
474
- x = 'diversity' ,
479
+ merged ,
480
+ x = 'diversity' ,
475
481
y = 'diversity_increase' ,
476
482
hover_data = ['user' ],
477
483
custom_data = ['n_recommendations' ],
478
484
animation_frame = 'n_recommendations' ,
479
485
animation_group = 'user' ,
480
486
# marginal_x='histogram',
481
487
# marginal_y='histogram',
482
- color = 'volume' ,
488
+ color = 'volume' ,
483
489
color_continuous_scale = px .colors .sequential .Viridis ,
484
490
width = float ('inf' ),
485
491
height = 900 ,
@@ -495,7 +501,7 @@ def div_increase_vs_user_div_vs_reco_volume(msd_dataset, local_scheduler=False,
495
501
tickvals = [1 , 1.477 , 2 , 2.477 , 3 ],
496
502
ticktext = ['10' , '30' , '100' , '300' , '1000' ],
497
503
))
498
-
504
+
499
505
app = dash .Dash ()
500
506
app .layout = html .Div ([
501
507
# Graphs container
@@ -513,7 +519,7 @@ def div_increase_vs_user_div_vs_reco_volume(msd_dataset, local_scheduler=False,
513
519
], style = {'width' : '50%' })
514
520
515
521
], style = {'display' : 'flex' }),
516
-
522
+
517
523
# Data container
518
524
html .Div ([
519
525
dcc .Markdown ("""
@@ -572,7 +578,7 @@ def handle_click_data(click_data):
572
578
'common_tags'
573
579
]
574
580
user_info = {key : user_info [key ] for key in keys }
575
-
581
+
576
582
listened_tags_fig = px .bar (
577
583
listened_tag_distribution ,
578
584
title = 'Listened tags weight distribution' ,
@@ -588,12 +594,14 @@ def handle_click_data(click_data):
588
594
)
589
595
recommended_tags_fig .update_xaxes (range = [0 , 30 ])
590
596
recommended_tags_fig .update_layout (xaxis_tickangle = 45 )
591
-
597
+
592
598
else :
593
599
user_info = {}
594
- listened_tags_fig = px .bar (title = 'Listened tags weight distribution' )
595
- recommended_tags_fig = px .bar (title = 'Recommended tags weight distribution' )
600
+ listened_tags_fig = px .bar (
601
+ title = 'Listened tags weight distribution' )
602
+ recommended_tags_fig = px .bar (
603
+ title = 'Recommended tags weight distribution' )
596
604
597
605
return json .dumps (user_info , indent = 2 ), listened_tags_fig , recommended_tags_fig
598
606
599
- app .run_server (debug = True , use_reloader = False )
607
+ app .run_server (debug = True , use_reloader = False )
0 commit comments