moderne-visualizations-misc 0.73.0__py3-none-any.whl → 0.73.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,4163 +16,10 @@
16
16
  },
17
17
  {
18
18
  "cell_type": "code",
19
- "execution_count": 2,
19
+ "execution_count": null,
20
20
  "metadata": {},
21
- "outputs": [
22
- {
23
- "data": {
24
- "application/vnd.plotly.v1+json": {
25
- "config": {
26
- "plotlyServerURL": "https://plot.ly"
27
- },
28
- "data": [
29
- {
30
- "colorbar": {
31
- "len": 0.7,
32
- "thickness": 15,
33
- "title": {
34
- "text": "Normalized<br>Complexity"
35
- }
36
- },
37
- "colorscale": [
38
- [
39
- 0,
40
- "#E8F5E9"
41
- ],
42
- [
43
- 0.2,
44
- "#A5D6A7"
45
- ],
46
- [
47
- 0.4,
48
- "#FFE082"
49
- ],
50
- [
51
- 0.6,
52
- "#FFB74D"
53
- ],
54
- [
55
- 0.8,
56
- "#FF8A65"
57
- ],
58
- [
59
- 1,
60
- "#EF5350"
61
- ]
62
- ],
63
- "hovertemplate": "<b>%{y}</b><br>%{text}<extra></extra>",
64
- "text": [
65
- [
66
- "Method Count: 59",
67
- "Avg Complexity: 5.7",
68
- "Max Complexity: 25",
69
- "Total Complexity: 339"
70
- ],
71
- [
72
- "Method Count: 103",
73
- "Avg Complexity: 2.3",
74
- "Max Complexity: 4",
75
- "Total Complexity: 232"
76
- ],
77
- [
78
- "Method Count: 46",
79
- "Avg Complexity: 4.5",
80
- "Max Complexity: 23",
81
- "Total Complexity: 207"
82
- ],
83
- [
84
- "Method Count: 13",
85
- "Avg Complexity: 34.8",
86
- "Max Complexity: 247",
87
- "Total Complexity: 452"
88
- ],
89
- [
90
- "Method Count: 55",
91
- "Avg Complexity: 6.1",
92
- "Max Complexity: 48",
93
- "Total Complexity: 336"
94
- ],
95
- [
96
- "Method Count: 29",
97
- "Avg Complexity: 14.0",
98
- "Max Complexity: 210",
99
- "Total Complexity: 405"
100
- ],
101
- [
102
- "Method Count: 57",
103
- "Avg Complexity: 7.0",
104
- "Max Complexity: 223",
105
- "Total Complexity: 399"
106
- ],
107
- [
108
- "Method Count: 18",
109
- "Avg Complexity: 13.2",
110
- "Max Complexity: 195",
111
- "Total Complexity: 238"
112
- ],
113
- [
114
- "Method Count: 14",
115
- "Avg Complexity: 19.9",
116
- "Max Complexity: 99",
117
- "Total Complexity: 278"
118
- ],
119
- [
120
- "Method Count: 240",
121
- "Avg Complexity: 1.0",
122
- "Max Complexity: 1",
123
- "Total Complexity: 240"
124
- ],
125
- [
126
- "Method Count: 49",
127
- "Avg Complexity: 4.1",
128
- "Max Complexity: 14",
129
- "Total Complexity: 199"
130
- ],
131
- [
132
- "Method Count: 460",
133
- "Avg Complexity: 1.0",
134
- "Max Complexity: 1",
135
- "Total Complexity: 460"
136
- ],
137
- [
138
- "Method Count: 14",
139
- "Avg Complexity: 19.9",
140
- "Max Complexity: 99",
141
- "Total Complexity: 278"
142
- ],
143
- [
144
- "Method Count: 171",
145
- "Avg Complexity: 1.5",
146
- "Max Complexity: 80",
147
- "Total Complexity: 252"
148
- ],
149
- [
150
- "Method Count: 60",
151
- "Avg Complexity: 3.4",
152
- "Max Complexity: 43",
153
- "Total Complexity: 205"
154
- ],
155
- [
156
- "Method Count: 171",
157
- "Avg Complexity: 1.1",
158
- "Max Complexity: 7",
159
- "Total Complexity: 194"
160
- ],
161
- [
162
- "Method Count: 78",
163
- "Avg Complexity: 2.6",
164
- "Max Complexity: 37",
165
- "Total Complexity: 203"
166
- ],
167
- [
168
- "Method Count: 348",
169
- "Avg Complexity: 1.1",
170
- "Max Complexity: 5",
171
- "Total Complexity: 374"
172
- ],
173
- [
174
- "Method Count: 558",
175
- "Avg Complexity: 1.0",
176
- "Max Complexity: 6",
177
- "Total Complexity: 580"
178
- ],
179
- [
180
- "Method Count: 277",
181
- "Avg Complexity: 1.0",
182
- "Max Complexity: 1",
183
- "Total Complexity: 277"
184
- ],
185
- [
186
- "Method Count: 275",
187
- "Avg Complexity: 1.0",
188
- "Max Complexity: 1",
189
- "Total Complexity: 275"
190
- ],
191
- [
192
- "Method Count: 282",
193
- "Avg Complexity: 1.0",
194
- "Max Complexity: 1",
195
- "Total Complexity: 282"
196
- ],
197
- [
198
- "Method Count: 277",
199
- "Avg Complexity: 1.0",
200
- "Max Complexity: 1",
201
- "Total Complexity: 277"
202
- ],
203
- [
204
- "Method Count: 270",
205
- "Avg Complexity: 1.0",
206
- "Max Complexity: 1",
207
- "Total Complexity: 270"
208
- ],
209
- [
210
- "Method Count: 303",
211
- "Avg Complexity: 1.0",
212
- "Max Complexity: 3",
213
- "Total Complexity: 313"
214
- ],
215
- [
216
- "Method Count: 295",
217
- "Avg Complexity: 1.0",
218
- "Max Complexity: 4",
219
- "Total Complexity: 307"
220
- ],
221
- [
222
- "Method Count: 235",
223
- "Avg Complexity: 1.0",
224
- "Max Complexity: 2",
225
- "Total Complexity: 236"
226
- ],
227
- [
228
- "Method Count: 66",
229
- "Avg Complexity: 5.0",
230
- "Max Complexity: 30",
231
- "Total Complexity: 330"
232
- ],
233
- [
234
- "Method Count: 90",
235
- "Avg Complexity: 3.8",
236
- "Max Complexity: 59",
237
- "Total Complexity: 340"
238
- ],
239
- [
240
- "Method Count: 1",
241
- "Avg Complexity: 173.0",
242
- "Max Complexity: 173",
243
- "Total Complexity: 173"
244
- ],
245
- [
246
- "Method Count: 56",
247
- "Avg Complexity: 5.9",
248
- "Max Complexity: 71",
249
- "Total Complexity: 329"
250
- ],
251
- [
252
- "Method Count: 52",
253
- "Avg Complexity: 23.6",
254
- "Max Complexity: 553",
255
- "Total Complexity: 1229"
256
- ],
257
- [
258
- "Method Count: 108",
259
- "Avg Complexity: 2.2",
260
- "Max Complexity: 38",
261
- "Total Complexity: 234"
262
- ],
263
- [
264
- "Method Count: 46",
265
- "Avg Complexity: 5.0",
266
- "Max Complexity: 48",
267
- "Total Complexity: 231"
268
- ],
269
- [
270
- "Method Count: 34",
271
- "Avg Complexity: 8.2",
272
- "Max Complexity: 73",
273
- "Total Complexity: 278"
274
- ],
275
- [
276
- "Method Count: 198",
277
- "Avg Complexity: 1.1",
278
- "Max Complexity: 7",
279
- "Total Complexity: 216"
280
- ],
281
- [
282
- "Method Count: 23",
283
- "Avg Complexity: 15.6",
284
- "Max Complexity: 193",
285
- "Total Complexity: 359"
286
- ],
287
- [
288
- "Method Count: 145",
289
- "Avg Complexity: 1.6",
290
- "Max Complexity: 22",
291
- "Total Complexity: 234"
292
- ],
293
- [
294
- "Method Count: 52",
295
- "Avg Complexity: 5.6",
296
- "Max Complexity: 47",
297
- "Total Complexity: 291"
298
- ],
299
- [
300
- "Method Count: 14",
301
- "Avg Complexity: 16.6",
302
- "Max Complexity: 154",
303
- "Total Complexity: 232"
304
- ],
305
- [
306
- "Method Count: 50",
307
- "Avg Complexity: 7.8",
308
- "Max Complexity: 43",
309
- "Total Complexity: 392"
310
- ],
311
- [
312
- "Method Count: 141",
313
- "Avg Complexity: 1.6",
314
- "Max Complexity: 12",
315
- "Total Complexity: 232"
316
- ],
317
- [
318
- "Method Count: 64",
319
- "Avg Complexity: 3.4",
320
- "Max Complexity: 18",
321
- "Total Complexity: 216"
322
- ],
323
- [
324
- "Method Count: 64",
325
- "Avg Complexity: 4.1",
326
- "Max Complexity: 83",
327
- "Total Complexity: 260"
328
- ],
329
- [
330
- "Method Count: 38",
331
- "Avg Complexity: 6.3",
332
- "Max Complexity: 48",
333
- "Total Complexity: 241"
334
- ],
335
- [
336
- "Method Count: 47",
337
- "Avg Complexity: 6.3",
338
- "Max Complexity: 44",
339
- "Total Complexity: 295"
340
- ],
341
- [
342
- "Method Count: 20",
343
- "Avg Complexity: 15.8",
344
- "Max Complexity: 44",
345
- "Total Complexity: 317"
346
- ],
347
- [
348
- "Method Count: 98",
349
- "Avg Complexity: 2.4",
350
- "Max Complexity: 32",
351
- "Total Complexity: 236"
352
- ],
353
- [
354
- "Method Count: 155",
355
- "Avg Complexity: 1.5",
356
- "Max Complexity: 12",
357
- "Total Complexity: 238"
358
- ],
359
- [
360
- "Method Count: 202",
361
- "Avg Complexity: 1.1",
362
- "Max Complexity: 3",
363
- "Total Complexity: 217"
364
- ]
365
- ],
366
- "texttemplate": "",
367
- "type": "heatmap",
368
- "x": [
369
- "Method Count",
370
- "Avg Complexity",
371
- "Max Complexity",
372
- "Total Complexity"
373
- ],
374
- "y": [
375
- "conductor::AbstractProtoMapper",
376
- "conductor::JedisMock",
377
- "conductor::WorkflowExecutor",
378
- "hollow::HollowObjectTypeMapper$MappedField",
379
- "metacat::PartitionParser",
380
- "metacat::PartitionParserTokenManager",
381
- "photon::HeaderPartition",
382
- "photon::MXFPropertyPopulator",
383
- "spring-cloud-deployer-cloudfoundry::QuartzCronExpression",
384
- "spring-cloud-deployer-kubernetes::KubernetesDeployerProperties",
385
- "spring-cloud-deployer::KubernetesAppDeployer",
386
- "spring-cloud-deployer::KubernetesDeployerProperties",
387
- "spring-cloud-deployer::QuartzCronExpression",
388
- "spring-cloud-netflix::EurekaServerConfigBean",
389
- "spring-cloud-stream-binder-kafka::KafkaMessageChannelBinder",
390
- "spring-data-elasticsearch::ElasticsearchIntegrationTests",
391
- "spring-data-elasticsearch::RequestConverter",
392
- "spring-data-redis::AbstractConnectionIntegrationTests",
393
- "spring-data-redis::DefaultStringRedisConnection",
394
- "spring-data-redis::DefaultStringRedisConnectionPipelineTests",
395
- "spring-data-redis::DefaultStringRedisConnectionPipelineTxTests",
396
- "spring-data-redis::DefaultStringRedisConnectionTests",
397
- "spring-data-redis::DefaultStringRedisConnectionTxTests",
398
- "spring-data-redis::DefaultedRedisConnection",
399
- "spring-data-redis::JedisClusterConnectionTests",
400
- "spring-data-redis::LettuceClusterConnectionTests",
401
- "spring-data-redis::RedisConnectionUnitTests$AbstractDelegatingRedisConnectionStub",
402
- "spring-framework::AbstractAutowireCapableBeanFactory",
403
- "spring-framework::AbstractBeanFactory",
404
- "spring-framework::AbstractMockWebServerTests$TestDispatcher",
405
- "spring-framework::BeanDefinitionParserDelegate",
406
- "spring-framework::ClassReader",
407
- "spring-framework::CodeEmitter",
408
- "spring-framework::CodeFlow",
409
- "spring-framework::ConstructorResolver",
410
- "spring-framework::DefaultListableBeanFactoryTests",
411
- "spring-framework::Frame",
412
- "spring-framework::HttpHeaders",
413
- "spring-framework::InternalSpelExpressionParser",
414
- "spring-framework::JdbcUtils",
415
- "spring-framework::MethodWriter",
416
- "spring-framework::MockHttpServletRequest",
417
- "spring-framework::StringUtils",
418
- "spring-framework::SymbolTable",
419
- "spring-framework::Type",
420
- "spring-framework::WhatWgUrlParser",
421
- "spring-framework::WhatWgUrlParser$State",
422
- "spring-ldap::DirContextAdapter",
423
- "spring-ldap::LdapTemplate",
424
- "spring-session-data-geode::AbstractGemFireOperationsSessionRepositoryTests"
425
- ],
426
- "z": [
427
- [
428
- 0.10412926391382406,
429
- 0.027591643673630272,
430
- 0.043478260869565216,
431
- 0.1571969696969697
432
- ],
433
- [
434
- 0.18312387791741472,
435
- 0.007281553398058252,
436
- 0.005434782608695652,
437
- 0.05587121212121212
438
- ],
439
- [
440
- 0.0807899461400359,
441
- 0.020348837209302327,
442
- 0.03985507246376811,
443
- 0.032196969696969696
444
- ],
445
- [
446
- 0.02154398563734291,
447
- 0.19633273703041143,
448
- 0.44565217391304346,
449
- 0.26420454545454547
450
- ],
451
- [
452
- 0.09694793536804308,
453
- 0.02970401691331924,
454
- 0.08514492753623189,
455
- 0.1543560606060606
456
- ],
457
- [
458
- 0.05026929982046679,
459
- 0.07538091419406576,
460
- 0.3786231884057971,
461
- 0.2196969696969697
462
- ],
463
- [
464
- 0.10053859964093358,
465
- 0.03488372093023256,
466
- 0.40217391304347827,
467
- 0.21401515151515152
468
- ],
469
- [
470
- 0.03052064631956912,
471
- 0.0710594315245478,
472
- 0.35144927536231885,
473
- 0.061553030303030304
474
- ],
475
- [
476
- 0.02333931777378815,
477
- 0.10963455149501661,
478
- 0.17753623188405798,
479
- 0.09943181818181818
480
- ],
481
- [
482
- 0.42908438061041293,
483
- 0,
484
- 0,
485
- 0.0634469696969697
486
- ],
487
- [
488
- 0.08617594254937164,
489
- 0.017797816801139062,
490
- 0.02355072463768116,
491
- 0.02462121212121212
492
- ],
493
- [
494
- 0.8240574506283662,
495
- 0,
496
- 0,
497
- 0.27178030303030304
498
- ],
499
- [
500
- 0.02333931777378815,
501
- 0.10963455149501661,
502
- 0.17753623188405798,
503
- 0.09943181818181818
504
- ],
505
- [
506
- 0.3052064631956912,
507
- 0.002753977968176254,
508
- 0.1431159420289855,
509
- 0.07481060606060606
510
- ],
511
- [
512
- 0.1059245960502693,
513
- 0.014050387596899224,
514
- 0.07608695652173914,
515
- 0.030303030303030304
516
- ],
517
- [
518
- 0.3052064631956912,
519
- 0.0007819937440500478,
520
- 0.010869565217391304,
521
- 0.019886363636363636
522
- ],
523
- [
524
- 0.13824057450628366,
525
- 0.009317233154442457,
526
- 0.06521739130434782,
527
- 0.028409090909090908
528
- ],
529
- [
530
- 0.6229802513464991,
531
- 0.00043437583533814466,
532
- 0.007246376811594203,
533
- 0.1903409090909091
534
- ],
535
- [
536
- 1,
537
- 0.00022922397265983185,
538
- 0.009057971014492754,
539
- 0.3854166666666667
540
- ],
541
- [
542
- 0.4955116696588869,
543
- 0,
544
- 0,
545
- 0.09848484848484848
546
- ],
547
- [
548
- 0.4919210053859964,
549
- 0,
550
- 0,
551
- 0.09659090909090909
552
- ],
553
- [
554
- 0.5044883303411131,
555
- 0,
556
- 0,
557
- 0.10321969696969698
558
- ],
559
- [
560
- 0.4955116696588869,
561
- 0,
562
- 0,
563
- 0.09848484848484848
564
- ],
565
- [
566
- 0.4829443447037702,
567
- 0,
568
- 0,
569
- 0.09185606060606061
570
- ],
571
- [
572
- 0.5421903052064632,
573
- 0.00019187965308158696,
574
- 0.0036231884057971015,
575
- 0.13257575757575757
576
- ],
577
- [
578
- 0.5278276481149012,
579
- 0.00023649980291683104,
580
- 0.005434782608695652,
581
- 0.1268939393939394
582
- ],
583
- [
584
- 0.42010771992818674,
585
- 0.000024740227610093405,
586
- 0.0018115942028985507,
587
- 0.05965909090909091
588
- ],
589
- [
590
- 0.11669658886894076,
591
- 0.023255813953488372,
592
- 0.05253623188405797,
593
- 0.14867424242424243
594
- ],
595
- [
596
- 0.15978456014362658,
597
- 0.01614987080103359,
598
- 0.10507246376811594,
599
- 0.1581439393939394
600
- ],
601
- [
602
- 0,
603
- 1,
604
- 0.3115942028985507,
605
- 0
606
- ],
607
- [
608
- 0.09874326750448834,
609
- 0.028343023255813952,
610
- 0.12681159420289856,
611
- 0.14772727272727273
612
- ],
613
- [
614
- 0.09156193895870736,
615
- 0.13159660107334525,
616
- 1,
617
- 1
618
- ],
619
- [
620
- 0.19210053859964094,
621
- 0.0067829457364341076,
622
- 0.06702898550724638,
623
- 0.05776515151515151
624
- ],
625
- [
626
- 0.0807899461400359,
627
- 0.02338220424671385,
628
- 0.08514492753623189,
629
- 0.054924242424242424
630
- ],
631
- [
632
- 0.059245960502693,
633
- 0.041723666210670314,
634
- 0.13043478260869565,
635
- 0.09943181818181818
636
- ],
637
- [
638
- 0.35368043087971274,
639
- 0.0005285412262156443,
640
- 0.010869565217391304,
641
- 0.04071969696969697
642
- ],
643
- [
644
- 0.03949730700179533,
645
- 0.08493427704752275,
646
- 0.34782608695652173,
647
- 0.17613636363636365
648
- ],
649
- [
650
- 0.2585278276481149,
651
- 0.003568564554931836,
652
- 0.03804347826086957,
653
- 0.05776515151515151
654
- ],
655
- [
656
- 0.09156193895870736,
657
- 0.026721824686940964,
658
- 0.08333333333333333,
659
- 0.11174242424242424
660
- ],
661
- [
662
- 0.02333931777378815,
663
- 0.09053156146179403,
664
- 0.27717391304347827,
665
- 0.05587121212121212
666
- ],
667
- [
668
- 0.08797127468581688,
669
- 0.039767441860465116,
670
- 0.07608695652173914,
671
- 0.20738636363636365
672
- ],
673
- [
674
- 0.2513464991023339,
675
- 0.0037522678541975917,
676
- 0.019927536231884056,
677
- 0.05587121212121212
678
- ],
679
- [
680
- 0.11310592459605028,
681
- 0.013808139534883721,
682
- 0.030797101449275364,
683
- 0.04071969696969697
684
- ],
685
- [
686
- 0.11310592459605028,
687
- 0.017805232558139535,
688
- 0.14855072463768115,
689
- 0.08238636363636363
690
- ],
691
- [
692
- 0.06642728904847396,
693
- 0.03105875152998776,
694
- 0.08514492753623189,
695
- 0.06439393939393939
696
- ],
697
- [
698
- 0.08258527827648116,
699
- 0.030677882236516574,
700
- 0.07789855072463768,
701
- 0.11553030303030302
702
- ],
703
- [
704
- 0.03411131059245961,
705
- 0.08633720930232558,
706
- 0.07789855072463768,
707
- 0.13636363636363635
708
- ],
709
- [
710
- 0.1741472172351885,
711
- 0.008186995728523968,
712
- 0.05615942028985507,
713
- 0.05965909090909091
714
- ],
715
- [
716
- 0.2764811490125673,
717
- 0.0031132783195798944,
718
- 0.019927536231884056,
719
- 0.061553030303030304
720
- ],
721
- [
722
- 0.3608617594254937,
723
- 0.00043172921943357163,
724
- 0.0036231884057971015,
725
- 0.041666666666666664
726
- ]
727
- ]
728
- }
729
- ],
730
- "layout": {
731
- "annotations": [
732
- {
733
- "font": {
734
- "color": "black",
735
- "size": 10
736
- },
737
- "showarrow": false,
738
- "text": "59",
739
- "x": 0,
740
- "xref": "x",
741
- "y": 0,
742
- "yref": "y"
743
- },
744
- {
745
- "font": {
746
- "color": "black",
747
- "size": 10
748
- },
749
- "showarrow": false,
750
- "text": "5.7",
751
- "x": 1,
752
- "xref": "x",
753
- "y": 0,
754
- "yref": "y"
755
- },
756
- {
757
- "font": {
758
- "color": "black",
759
- "size": 10
760
- },
761
- "showarrow": false,
762
- "text": "25",
763
- "x": 2,
764
- "xref": "x",
765
- "y": 0,
766
- "yref": "y"
767
- },
768
- {
769
- "font": {
770
- "color": "black",
771
- "size": 10
772
- },
773
- "showarrow": false,
774
- "text": "339",
775
- "x": 3,
776
- "xref": "x",
777
- "y": 0,
778
- "yref": "y"
779
- },
780
- {
781
- "font": {
782
- "color": "black",
783
- "size": 10
784
- },
785
- "showarrow": false,
786
- "text": "103",
787
- "x": 0,
788
- "xref": "x",
789
- "y": 1,
790
- "yref": "y"
791
- },
792
- {
793
- "font": {
794
- "color": "black",
795
- "size": 10
796
- },
797
- "showarrow": false,
798
- "text": "2.3",
799
- "x": 1,
800
- "xref": "x",
801
- "y": 1,
802
- "yref": "y"
803
- },
804
- {
805
- "font": {
806
- "color": "black",
807
- "size": 10
808
- },
809
- "showarrow": false,
810
- "text": "4",
811
- "x": 2,
812
- "xref": "x",
813
- "y": 1,
814
- "yref": "y"
815
- },
816
- {
817
- "font": {
818
- "color": "black",
819
- "size": 10
820
- },
821
- "showarrow": false,
822
- "text": "232",
823
- "x": 3,
824
- "xref": "x",
825
- "y": 1,
826
- "yref": "y"
827
- },
828
- {
829
- "font": {
830
- "color": "black",
831
- "size": 10
832
- },
833
- "showarrow": false,
834
- "text": "46",
835
- "x": 0,
836
- "xref": "x",
837
- "y": 2,
838
- "yref": "y"
839
- },
840
- {
841
- "font": {
842
- "color": "black",
843
- "size": 10
844
- },
845
- "showarrow": false,
846
- "text": "4.5",
847
- "x": 1,
848
- "xref": "x",
849
- "y": 2,
850
- "yref": "y"
851
- },
852
- {
853
- "font": {
854
- "color": "black",
855
- "size": 10
856
- },
857
- "showarrow": false,
858
- "text": "23",
859
- "x": 2,
860
- "xref": "x",
861
- "y": 2,
862
- "yref": "y"
863
- },
864
- {
865
- "font": {
866
- "color": "black",
867
- "size": 10
868
- },
869
- "showarrow": false,
870
- "text": "207",
871
- "x": 3,
872
- "xref": "x",
873
- "y": 2,
874
- "yref": "y"
875
- },
876
- {
877
- "font": {
878
- "color": "black",
879
- "size": 10
880
- },
881
- "showarrow": false,
882
- "text": "13",
883
- "x": 0,
884
- "xref": "x",
885
- "y": 3,
886
- "yref": "y"
887
- },
888
- {
889
- "font": {
890
- "color": "black",
891
- "size": 10
892
- },
893
- "showarrow": false,
894
- "text": "34.8",
895
- "x": 1,
896
- "xref": "x",
897
- "y": 3,
898
- "yref": "y"
899
- },
900
- {
901
- "font": {
902
- "color": "black",
903
- "size": 10
904
- },
905
- "showarrow": false,
906
- "text": "247",
907
- "x": 2,
908
- "xref": "x",
909
- "y": 3,
910
- "yref": "y"
911
- },
912
- {
913
- "font": {
914
- "color": "black",
915
- "size": 10
916
- },
917
- "showarrow": false,
918
- "text": "452",
919
- "x": 3,
920
- "xref": "x",
921
- "y": 3,
922
- "yref": "y"
923
- },
924
- {
925
- "font": {
926
- "color": "black",
927
- "size": 10
928
- },
929
- "showarrow": false,
930
- "text": "55",
931
- "x": 0,
932
- "xref": "x",
933
- "y": 4,
934
- "yref": "y"
935
- },
936
- {
937
- "font": {
938
- "color": "black",
939
- "size": 10
940
- },
941
- "showarrow": false,
942
- "text": "6.1",
943
- "x": 1,
944
- "xref": "x",
945
- "y": 4,
946
- "yref": "y"
947
- },
948
- {
949
- "font": {
950
- "color": "black",
951
- "size": 10
952
- },
953
- "showarrow": false,
954
- "text": "48",
955
- "x": 2,
956
- "xref": "x",
957
- "y": 4,
958
- "yref": "y"
959
- },
960
- {
961
- "font": {
962
- "color": "black",
963
- "size": 10
964
- },
965
- "showarrow": false,
966
- "text": "336",
967
- "x": 3,
968
- "xref": "x",
969
- "y": 4,
970
- "yref": "y"
971
- },
972
- {
973
- "font": {
974
- "color": "black",
975
- "size": 10
976
- },
977
- "showarrow": false,
978
- "text": "29",
979
- "x": 0,
980
- "xref": "x",
981
- "y": 5,
982
- "yref": "y"
983
- },
984
- {
985
- "font": {
986
- "color": "black",
987
- "size": 10
988
- },
989
- "showarrow": false,
990
- "text": "14.0",
991
- "x": 1,
992
- "xref": "x",
993
- "y": 5,
994
- "yref": "y"
995
- },
996
- {
997
- "font": {
998
- "color": "black",
999
- "size": 10
1000
- },
1001
- "showarrow": false,
1002
- "text": "210",
1003
- "x": 2,
1004
- "xref": "x",
1005
- "y": 5,
1006
- "yref": "y"
1007
- },
1008
- {
1009
- "font": {
1010
- "color": "black",
1011
- "size": 10
1012
- },
1013
- "showarrow": false,
1014
- "text": "405",
1015
- "x": 3,
1016
- "xref": "x",
1017
- "y": 5,
1018
- "yref": "y"
1019
- },
1020
- {
1021
- "font": {
1022
- "color": "black",
1023
- "size": 10
1024
- },
1025
- "showarrow": false,
1026
- "text": "57",
1027
- "x": 0,
1028
- "xref": "x",
1029
- "y": 6,
1030
- "yref": "y"
1031
- },
1032
- {
1033
- "font": {
1034
- "color": "black",
1035
- "size": 10
1036
- },
1037
- "showarrow": false,
1038
- "text": "7.0",
1039
- "x": 1,
1040
- "xref": "x",
1041
- "y": 6,
1042
- "yref": "y"
1043
- },
1044
- {
1045
- "font": {
1046
- "color": "black",
1047
- "size": 10
1048
- },
1049
- "showarrow": false,
1050
- "text": "223",
1051
- "x": 2,
1052
- "xref": "x",
1053
- "y": 6,
1054
- "yref": "y"
1055
- },
1056
- {
1057
- "font": {
1058
- "color": "black",
1059
- "size": 10
1060
- },
1061
- "showarrow": false,
1062
- "text": "399",
1063
- "x": 3,
1064
- "xref": "x",
1065
- "y": 6,
1066
- "yref": "y"
1067
- },
1068
- {
1069
- "font": {
1070
- "color": "black",
1071
- "size": 10
1072
- },
1073
- "showarrow": false,
1074
- "text": "18",
1075
- "x": 0,
1076
- "xref": "x",
1077
- "y": 7,
1078
- "yref": "y"
1079
- },
1080
- {
1081
- "font": {
1082
- "color": "black",
1083
- "size": 10
1084
- },
1085
- "showarrow": false,
1086
- "text": "13.2",
1087
- "x": 1,
1088
- "xref": "x",
1089
- "y": 7,
1090
- "yref": "y"
1091
- },
1092
- {
1093
- "font": {
1094
- "color": "black",
1095
- "size": 10
1096
- },
1097
- "showarrow": false,
1098
- "text": "195",
1099
- "x": 2,
1100
- "xref": "x",
1101
- "y": 7,
1102
- "yref": "y"
1103
- },
1104
- {
1105
- "font": {
1106
- "color": "black",
1107
- "size": 10
1108
- },
1109
- "showarrow": false,
1110
- "text": "238",
1111
- "x": 3,
1112
- "xref": "x",
1113
- "y": 7,
1114
- "yref": "y"
1115
- },
1116
- {
1117
- "font": {
1118
- "color": "black",
1119
- "size": 10
1120
- },
1121
- "showarrow": false,
1122
- "text": "14",
1123
- "x": 0,
1124
- "xref": "x",
1125
- "y": 8,
1126
- "yref": "y"
1127
- },
1128
- {
1129
- "font": {
1130
- "color": "black",
1131
- "size": 10
1132
- },
1133
- "showarrow": false,
1134
- "text": "19.9",
1135
- "x": 1,
1136
- "xref": "x",
1137
- "y": 8,
1138
- "yref": "y"
1139
- },
1140
- {
1141
- "font": {
1142
- "color": "black",
1143
- "size": 10
1144
- },
1145
- "showarrow": false,
1146
- "text": "99",
1147
- "x": 2,
1148
- "xref": "x",
1149
- "y": 8,
1150
- "yref": "y"
1151
- },
1152
- {
1153
- "font": {
1154
- "color": "black",
1155
- "size": 10
1156
- },
1157
- "showarrow": false,
1158
- "text": "278",
1159
- "x": 3,
1160
- "xref": "x",
1161
- "y": 8,
1162
- "yref": "y"
1163
- },
1164
- {
1165
- "font": {
1166
- "color": "black",
1167
- "size": 10
1168
- },
1169
- "showarrow": false,
1170
- "text": "240",
1171
- "x": 0,
1172
- "xref": "x",
1173
- "y": 9,
1174
- "yref": "y"
1175
- },
1176
- {
1177
- "font": {
1178
- "color": "black",
1179
- "size": 10
1180
- },
1181
- "showarrow": false,
1182
- "text": "1.0",
1183
- "x": 1,
1184
- "xref": "x",
1185
- "y": 9,
1186
- "yref": "y"
1187
- },
1188
- {
1189
- "font": {
1190
- "color": "black",
1191
- "size": 10
1192
- },
1193
- "showarrow": false,
1194
- "text": "1",
1195
- "x": 2,
1196
- "xref": "x",
1197
- "y": 9,
1198
- "yref": "y"
1199
- },
1200
- {
1201
- "font": {
1202
- "color": "black",
1203
- "size": 10
1204
- },
1205
- "showarrow": false,
1206
- "text": "240",
1207
- "x": 3,
1208
- "xref": "x",
1209
- "y": 9,
1210
- "yref": "y"
1211
- },
1212
- {
1213
- "font": {
1214
- "color": "black",
1215
- "size": 10
1216
- },
1217
- "showarrow": false,
1218
- "text": "49",
1219
- "x": 0,
1220
- "xref": "x",
1221
- "y": 10,
1222
- "yref": "y"
1223
- },
1224
- {
1225
- "font": {
1226
- "color": "black",
1227
- "size": 10
1228
- },
1229
- "showarrow": false,
1230
- "text": "4.1",
1231
- "x": 1,
1232
- "xref": "x",
1233
- "y": 10,
1234
- "yref": "y"
1235
- },
1236
- {
1237
- "font": {
1238
- "color": "black",
1239
- "size": 10
1240
- },
1241
- "showarrow": false,
1242
- "text": "14",
1243
- "x": 2,
1244
- "xref": "x",
1245
- "y": 10,
1246
- "yref": "y"
1247
- },
1248
- {
1249
- "font": {
1250
- "color": "black",
1251
- "size": 10
1252
- },
1253
- "showarrow": false,
1254
- "text": "199",
1255
- "x": 3,
1256
- "xref": "x",
1257
- "y": 10,
1258
- "yref": "y"
1259
- },
1260
- {
1261
- "font": {
1262
- "color": "white",
1263
- "size": 10
1264
- },
1265
- "showarrow": false,
1266
- "text": "460",
1267
- "x": 0,
1268
- "xref": "x",
1269
- "y": 11,
1270
- "yref": "y"
1271
- },
1272
- {
1273
- "font": {
1274
- "color": "black",
1275
- "size": 10
1276
- },
1277
- "showarrow": false,
1278
- "text": "1.0",
1279
- "x": 1,
1280
- "xref": "x",
1281
- "y": 11,
1282
- "yref": "y"
1283
- },
1284
- {
1285
- "font": {
1286
- "color": "black",
1287
- "size": 10
1288
- },
1289
- "showarrow": false,
1290
- "text": "1",
1291
- "x": 2,
1292
- "xref": "x",
1293
- "y": 11,
1294
- "yref": "y"
1295
- },
1296
- {
1297
- "font": {
1298
- "color": "black",
1299
- "size": 10
1300
- },
1301
- "showarrow": false,
1302
- "text": "460",
1303
- "x": 3,
1304
- "xref": "x",
1305
- "y": 11,
1306
- "yref": "y"
1307
- },
1308
- {
1309
- "font": {
1310
- "color": "black",
1311
- "size": 10
1312
- },
1313
- "showarrow": false,
1314
- "text": "14",
1315
- "x": 0,
1316
- "xref": "x",
1317
- "y": 12,
1318
- "yref": "y"
1319
- },
1320
- {
1321
- "font": {
1322
- "color": "black",
1323
- "size": 10
1324
- },
1325
- "showarrow": false,
1326
- "text": "19.9",
1327
- "x": 1,
1328
- "xref": "x",
1329
- "y": 12,
1330
- "yref": "y"
1331
- },
1332
- {
1333
- "font": {
1334
- "color": "black",
1335
- "size": 10
1336
- },
1337
- "showarrow": false,
1338
- "text": "99",
1339
- "x": 2,
1340
- "xref": "x",
1341
- "y": 12,
1342
- "yref": "y"
1343
- },
1344
- {
1345
- "font": {
1346
- "color": "black",
1347
- "size": 10
1348
- },
1349
- "showarrow": false,
1350
- "text": "278",
1351
- "x": 3,
1352
- "xref": "x",
1353
- "y": 12,
1354
- "yref": "y"
1355
- },
1356
- {
1357
- "font": {
1358
- "color": "black",
1359
- "size": 10
1360
- },
1361
- "showarrow": false,
1362
- "text": "171",
1363
- "x": 0,
1364
- "xref": "x",
1365
- "y": 13,
1366
- "yref": "y"
1367
- },
1368
- {
1369
- "font": {
1370
- "color": "black",
1371
- "size": 10
1372
- },
1373
- "showarrow": false,
1374
- "text": "1.5",
1375
- "x": 1,
1376
- "xref": "x",
1377
- "y": 13,
1378
- "yref": "y"
1379
- },
1380
- {
1381
- "font": {
1382
- "color": "black",
1383
- "size": 10
1384
- },
1385
- "showarrow": false,
1386
- "text": "80",
1387
- "x": 2,
1388
- "xref": "x",
1389
- "y": 13,
1390
- "yref": "y"
1391
- },
1392
- {
1393
- "font": {
1394
- "color": "black",
1395
- "size": 10
1396
- },
1397
- "showarrow": false,
1398
- "text": "252",
1399
- "x": 3,
1400
- "xref": "x",
1401
- "y": 13,
1402
- "yref": "y"
1403
- },
1404
- {
1405
- "font": {
1406
- "color": "black",
1407
- "size": 10
1408
- },
1409
- "showarrow": false,
1410
- "text": "60",
1411
- "x": 0,
1412
- "xref": "x",
1413
- "y": 14,
1414
- "yref": "y"
1415
- },
1416
- {
1417
- "font": {
1418
- "color": "black",
1419
- "size": 10
1420
- },
1421
- "showarrow": false,
1422
- "text": "3.4",
1423
- "x": 1,
1424
- "xref": "x",
1425
- "y": 14,
1426
- "yref": "y"
1427
- },
1428
- {
1429
- "font": {
1430
- "color": "black",
1431
- "size": 10
1432
- },
1433
- "showarrow": false,
1434
- "text": "43",
1435
- "x": 2,
1436
- "xref": "x",
1437
- "y": 14,
1438
- "yref": "y"
1439
- },
1440
- {
1441
- "font": {
1442
- "color": "black",
1443
- "size": 10
1444
- },
1445
- "showarrow": false,
1446
- "text": "205",
1447
- "x": 3,
1448
- "xref": "x",
1449
- "y": 14,
1450
- "yref": "y"
1451
- },
1452
- {
1453
- "font": {
1454
- "color": "black",
1455
- "size": 10
1456
- },
1457
- "showarrow": false,
1458
- "text": "171",
1459
- "x": 0,
1460
- "xref": "x",
1461
- "y": 15,
1462
- "yref": "y"
1463
- },
1464
- {
1465
- "font": {
1466
- "color": "black",
1467
- "size": 10
1468
- },
1469
- "showarrow": false,
1470
- "text": "1.1",
1471
- "x": 1,
1472
- "xref": "x",
1473
- "y": 15,
1474
- "yref": "y"
1475
- },
1476
- {
1477
- "font": {
1478
- "color": "black",
1479
- "size": 10
1480
- },
1481
- "showarrow": false,
1482
- "text": "7",
1483
- "x": 2,
1484
- "xref": "x",
1485
- "y": 15,
1486
- "yref": "y"
1487
- },
1488
- {
1489
- "font": {
1490
- "color": "black",
1491
- "size": 10
1492
- },
1493
- "showarrow": false,
1494
- "text": "194",
1495
- "x": 3,
1496
- "xref": "x",
1497
- "y": 15,
1498
- "yref": "y"
1499
- },
1500
- {
1501
- "font": {
1502
- "color": "black",
1503
- "size": 10
1504
- },
1505
- "showarrow": false,
1506
- "text": "78",
1507
- "x": 0,
1508
- "xref": "x",
1509
- "y": 16,
1510
- "yref": "y"
1511
- },
1512
- {
1513
- "font": {
1514
- "color": "black",
1515
- "size": 10
1516
- },
1517
- "showarrow": false,
1518
- "text": "2.6",
1519
- "x": 1,
1520
- "xref": "x",
1521
- "y": 16,
1522
- "yref": "y"
1523
- },
1524
- {
1525
- "font": {
1526
- "color": "black",
1527
- "size": 10
1528
- },
1529
- "showarrow": false,
1530
- "text": "37",
1531
- "x": 2,
1532
- "xref": "x",
1533
- "y": 16,
1534
- "yref": "y"
1535
- },
1536
- {
1537
- "font": {
1538
- "color": "black",
1539
- "size": 10
1540
- },
1541
- "showarrow": false,
1542
- "text": "203",
1543
- "x": 3,
1544
- "xref": "x",
1545
- "y": 16,
1546
- "yref": "y"
1547
- },
1548
- {
1549
- "font": {
1550
- "color": "white",
1551
- "size": 10
1552
- },
1553
- "showarrow": false,
1554
- "text": "348",
1555
- "x": 0,
1556
- "xref": "x",
1557
- "y": 17,
1558
- "yref": "y"
1559
- },
1560
- {
1561
- "font": {
1562
- "color": "black",
1563
- "size": 10
1564
- },
1565
- "showarrow": false,
1566
- "text": "1.1",
1567
- "x": 1,
1568
- "xref": "x",
1569
- "y": 17,
1570
- "yref": "y"
1571
- },
1572
- {
1573
- "font": {
1574
- "color": "black",
1575
- "size": 10
1576
- },
1577
- "showarrow": false,
1578
- "text": "5",
1579
- "x": 2,
1580
- "xref": "x",
1581
- "y": 17,
1582
- "yref": "y"
1583
- },
1584
- {
1585
- "font": {
1586
- "color": "black",
1587
- "size": 10
1588
- },
1589
- "showarrow": false,
1590
- "text": "374",
1591
- "x": 3,
1592
- "xref": "x",
1593
- "y": 17,
1594
- "yref": "y"
1595
- },
1596
- {
1597
- "font": {
1598
- "color": "white",
1599
- "size": 10
1600
- },
1601
- "showarrow": false,
1602
- "text": "558",
1603
- "x": 0,
1604
- "xref": "x",
1605
- "y": 18,
1606
- "yref": "y"
1607
- },
1608
- {
1609
- "font": {
1610
- "color": "black",
1611
- "size": 10
1612
- },
1613
- "showarrow": false,
1614
- "text": "1.0",
1615
- "x": 1,
1616
- "xref": "x",
1617
- "y": 18,
1618
- "yref": "y"
1619
- },
1620
- {
1621
- "font": {
1622
- "color": "black",
1623
- "size": 10
1624
- },
1625
- "showarrow": false,
1626
- "text": "6",
1627
- "x": 2,
1628
- "xref": "x",
1629
- "y": 18,
1630
- "yref": "y"
1631
- },
1632
- {
1633
- "font": {
1634
- "color": "black",
1635
- "size": 10
1636
- },
1637
- "showarrow": false,
1638
- "text": "580",
1639
- "x": 3,
1640
- "xref": "x",
1641
- "y": 18,
1642
- "yref": "y"
1643
- },
1644
- {
1645
- "font": {
1646
- "color": "black",
1647
- "size": 10
1648
- },
1649
- "showarrow": false,
1650
- "text": "277",
1651
- "x": 0,
1652
- "xref": "x",
1653
- "y": 19,
1654
- "yref": "y"
1655
- },
1656
- {
1657
- "font": {
1658
- "color": "black",
1659
- "size": 10
1660
- },
1661
- "showarrow": false,
1662
- "text": "1.0",
1663
- "x": 1,
1664
- "xref": "x",
1665
- "y": 19,
1666
- "yref": "y"
1667
- },
1668
- {
1669
- "font": {
1670
- "color": "black",
1671
- "size": 10
1672
- },
1673
- "showarrow": false,
1674
- "text": "1",
1675
- "x": 2,
1676
- "xref": "x",
1677
- "y": 19,
1678
- "yref": "y"
1679
- },
1680
- {
1681
- "font": {
1682
- "color": "black",
1683
- "size": 10
1684
- },
1685
- "showarrow": false,
1686
- "text": "277",
1687
- "x": 3,
1688
- "xref": "x",
1689
- "y": 19,
1690
- "yref": "y"
1691
- },
1692
- {
1693
- "font": {
1694
- "color": "black",
1695
- "size": 10
1696
- },
1697
- "showarrow": false,
1698
- "text": "275",
1699
- "x": 0,
1700
- "xref": "x",
1701
- "y": 20,
1702
- "yref": "y"
1703
- },
1704
- {
1705
- "font": {
1706
- "color": "black",
1707
- "size": 10
1708
- },
1709
- "showarrow": false,
1710
- "text": "1.0",
1711
- "x": 1,
1712
- "xref": "x",
1713
- "y": 20,
1714
- "yref": "y"
1715
- },
1716
- {
1717
- "font": {
1718
- "color": "black",
1719
- "size": 10
1720
- },
1721
- "showarrow": false,
1722
- "text": "1",
1723
- "x": 2,
1724
- "xref": "x",
1725
- "y": 20,
1726
- "yref": "y"
1727
- },
1728
- {
1729
- "font": {
1730
- "color": "black",
1731
- "size": 10
1732
- },
1733
- "showarrow": false,
1734
- "text": "275",
1735
- "x": 3,
1736
- "xref": "x",
1737
- "y": 20,
1738
- "yref": "y"
1739
- },
1740
- {
1741
- "font": {
1742
- "color": "black",
1743
- "size": 10
1744
- },
1745
- "showarrow": false,
1746
- "text": "282",
1747
- "x": 0,
1748
- "xref": "x",
1749
- "y": 21,
1750
- "yref": "y"
1751
- },
1752
- {
1753
- "font": {
1754
- "color": "black",
1755
- "size": 10
1756
- },
1757
- "showarrow": false,
1758
- "text": "1.0",
1759
- "x": 1,
1760
- "xref": "x",
1761
- "y": 21,
1762
- "yref": "y"
1763
- },
1764
- {
1765
- "font": {
1766
- "color": "black",
1767
- "size": 10
1768
- },
1769
- "showarrow": false,
1770
- "text": "1",
1771
- "x": 2,
1772
- "xref": "x",
1773
- "y": 21,
1774
- "yref": "y"
1775
- },
1776
- {
1777
- "font": {
1778
- "color": "black",
1779
- "size": 10
1780
- },
1781
- "showarrow": false,
1782
- "text": "282",
1783
- "x": 3,
1784
- "xref": "x",
1785
- "y": 21,
1786
- "yref": "y"
1787
- },
1788
- {
1789
- "font": {
1790
- "color": "black",
1791
- "size": 10
1792
- },
1793
- "showarrow": false,
1794
- "text": "277",
1795
- "x": 0,
1796
- "xref": "x",
1797
- "y": 22,
1798
- "yref": "y"
1799
- },
1800
- {
1801
- "font": {
1802
- "color": "black",
1803
- "size": 10
1804
- },
1805
- "showarrow": false,
1806
- "text": "1.0",
1807
- "x": 1,
1808
- "xref": "x",
1809
- "y": 22,
1810
- "yref": "y"
1811
- },
1812
- {
1813
- "font": {
1814
- "color": "black",
1815
- "size": 10
1816
- },
1817
- "showarrow": false,
1818
- "text": "1",
1819
- "x": 2,
1820
- "xref": "x",
1821
- "y": 22,
1822
- "yref": "y"
1823
- },
1824
- {
1825
- "font": {
1826
- "color": "black",
1827
- "size": 10
1828
- },
1829
- "showarrow": false,
1830
- "text": "277",
1831
- "x": 3,
1832
- "xref": "x",
1833
- "y": 22,
1834
- "yref": "y"
1835
- },
1836
- {
1837
- "font": {
1838
- "color": "black",
1839
- "size": 10
1840
- },
1841
- "showarrow": false,
1842
- "text": "270",
1843
- "x": 0,
1844
- "xref": "x",
1845
- "y": 23,
1846
- "yref": "y"
1847
- },
1848
- {
1849
- "font": {
1850
- "color": "black",
1851
- "size": 10
1852
- },
1853
- "showarrow": false,
1854
- "text": "1.0",
1855
- "x": 1,
1856
- "xref": "x",
1857
- "y": 23,
1858
- "yref": "y"
1859
- },
1860
- {
1861
- "font": {
1862
- "color": "black",
1863
- "size": 10
1864
- },
1865
- "showarrow": false,
1866
- "text": "1",
1867
- "x": 2,
1868
- "xref": "x",
1869
- "y": 23,
1870
- "yref": "y"
1871
- },
1872
- {
1873
- "font": {
1874
- "color": "black",
1875
- "size": 10
1876
- },
1877
- "showarrow": false,
1878
- "text": "270",
1879
- "x": 3,
1880
- "xref": "x",
1881
- "y": 23,
1882
- "yref": "y"
1883
- },
1884
- {
1885
- "font": {
1886
- "color": "black",
1887
- "size": 10
1888
- },
1889
- "showarrow": false,
1890
- "text": "303",
1891
- "x": 0,
1892
- "xref": "x",
1893
- "y": 24,
1894
- "yref": "y"
1895
- },
1896
- {
1897
- "font": {
1898
- "color": "black",
1899
- "size": 10
1900
- },
1901
- "showarrow": false,
1902
- "text": "1.0",
1903
- "x": 1,
1904
- "xref": "x",
1905
- "y": 24,
1906
- "yref": "y"
1907
- },
1908
- {
1909
- "font": {
1910
- "color": "black",
1911
- "size": 10
1912
- },
1913
- "showarrow": false,
1914
- "text": "3",
1915
- "x": 2,
1916
- "xref": "x",
1917
- "y": 24,
1918
- "yref": "y"
1919
- },
1920
- {
1921
- "font": {
1922
- "color": "black",
1923
- "size": 10
1924
- },
1925
- "showarrow": false,
1926
- "text": "313",
1927
- "x": 3,
1928
- "xref": "x",
1929
- "y": 24,
1930
- "yref": "y"
1931
- },
1932
- {
1933
- "font": {
1934
- "color": "black",
1935
- "size": 10
1936
- },
1937
- "showarrow": false,
1938
- "text": "295",
1939
- "x": 0,
1940
- "xref": "x",
1941
- "y": 25,
1942
- "yref": "y"
1943
- },
1944
- {
1945
- "font": {
1946
- "color": "black",
1947
- "size": 10
1948
- },
1949
- "showarrow": false,
1950
- "text": "1.0",
1951
- "x": 1,
1952
- "xref": "x",
1953
- "y": 25,
1954
- "yref": "y"
1955
- },
1956
- {
1957
- "font": {
1958
- "color": "black",
1959
- "size": 10
1960
- },
1961
- "showarrow": false,
1962
- "text": "4",
1963
- "x": 2,
1964
- "xref": "x",
1965
- "y": 25,
1966
- "yref": "y"
1967
- },
1968
- {
1969
- "font": {
1970
- "color": "black",
1971
- "size": 10
1972
- },
1973
- "showarrow": false,
1974
- "text": "307",
1975
- "x": 3,
1976
- "xref": "x",
1977
- "y": 25,
1978
- "yref": "y"
1979
- },
1980
- {
1981
- "font": {
1982
- "color": "black",
1983
- "size": 10
1984
- },
1985
- "showarrow": false,
1986
- "text": "235",
1987
- "x": 0,
1988
- "xref": "x",
1989
- "y": 26,
1990
- "yref": "y"
1991
- },
1992
- {
1993
- "font": {
1994
- "color": "black",
1995
- "size": 10
1996
- },
1997
- "showarrow": false,
1998
- "text": "1.0",
1999
- "x": 1,
2000
- "xref": "x",
2001
- "y": 26,
2002
- "yref": "y"
2003
- },
2004
- {
2005
- "font": {
2006
- "color": "black",
2007
- "size": 10
2008
- },
2009
- "showarrow": false,
2010
- "text": "2",
2011
- "x": 2,
2012
- "xref": "x",
2013
- "y": 26,
2014
- "yref": "y"
2015
- },
2016
- {
2017
- "font": {
2018
- "color": "black",
2019
- "size": 10
2020
- },
2021
- "showarrow": false,
2022
- "text": "236",
2023
- "x": 3,
2024
- "xref": "x",
2025
- "y": 26,
2026
- "yref": "y"
2027
- },
2028
- {
2029
- "font": {
2030
- "color": "black",
2031
- "size": 10
2032
- },
2033
- "showarrow": false,
2034
- "text": "66",
2035
- "x": 0,
2036
- "xref": "x",
2037
- "y": 27,
2038
- "yref": "y"
2039
- },
2040
- {
2041
- "font": {
2042
- "color": "black",
2043
- "size": 10
2044
- },
2045
- "showarrow": false,
2046
- "text": "5.0",
2047
- "x": 1,
2048
- "xref": "x",
2049
- "y": 27,
2050
- "yref": "y"
2051
- },
2052
- {
2053
- "font": {
2054
- "color": "black",
2055
- "size": 10
2056
- },
2057
- "showarrow": false,
2058
- "text": "30",
2059
- "x": 2,
2060
- "xref": "x",
2061
- "y": 27,
2062
- "yref": "y"
2063
- },
2064
- {
2065
- "font": {
2066
- "color": "black",
2067
- "size": 10
2068
- },
2069
- "showarrow": false,
2070
- "text": "330",
2071
- "x": 3,
2072
- "xref": "x",
2073
- "y": 27,
2074
- "yref": "y"
2075
- },
2076
- {
2077
- "font": {
2078
- "color": "black",
2079
- "size": 10
2080
- },
2081
- "showarrow": false,
2082
- "text": "90",
2083
- "x": 0,
2084
- "xref": "x",
2085
- "y": 28,
2086
- "yref": "y"
2087
- },
2088
- {
2089
- "font": {
2090
- "color": "black",
2091
- "size": 10
2092
- },
2093
- "showarrow": false,
2094
- "text": "3.8",
2095
- "x": 1,
2096
- "xref": "x",
2097
- "y": 28,
2098
- "yref": "y"
2099
- },
2100
- {
2101
- "font": {
2102
- "color": "black",
2103
- "size": 10
2104
- },
2105
- "showarrow": false,
2106
- "text": "59",
2107
- "x": 2,
2108
- "xref": "x",
2109
- "y": 28,
2110
- "yref": "y"
2111
- },
2112
- {
2113
- "font": {
2114
- "color": "black",
2115
- "size": 10
2116
- },
2117
- "showarrow": false,
2118
- "text": "340",
2119
- "x": 3,
2120
- "xref": "x",
2121
- "y": 28,
2122
- "yref": "y"
2123
- },
2124
- {
2125
- "font": {
2126
- "color": "black",
2127
- "size": 10
2128
- },
2129
- "showarrow": false,
2130
- "text": "1",
2131
- "x": 0,
2132
- "xref": "x",
2133
- "y": 29,
2134
- "yref": "y"
2135
- },
2136
- {
2137
- "font": {
2138
- "color": "white",
2139
- "size": 10
2140
- },
2141
- "showarrow": false,
2142
- "text": "173.0",
2143
- "x": 1,
2144
- "xref": "x",
2145
- "y": 29,
2146
- "yref": "y"
2147
- },
2148
- {
2149
- "font": {
2150
- "color": "black",
2151
- "size": 10
2152
- },
2153
- "showarrow": false,
2154
- "text": "173",
2155
- "x": 2,
2156
- "xref": "x",
2157
- "y": 29,
2158
- "yref": "y"
2159
- },
2160
- {
2161
- "font": {
2162
- "color": "black",
2163
- "size": 10
2164
- },
2165
- "showarrow": false,
2166
- "text": "173",
2167
- "x": 3,
2168
- "xref": "x",
2169
- "y": 29,
2170
- "yref": "y"
2171
- },
2172
- {
2173
- "font": {
2174
- "color": "black",
2175
- "size": 10
2176
- },
2177
- "showarrow": false,
2178
- "text": "56",
2179
- "x": 0,
2180
- "xref": "x",
2181
- "y": 30,
2182
- "yref": "y"
2183
- },
2184
- {
2185
- "font": {
2186
- "color": "black",
2187
- "size": 10
2188
- },
2189
- "showarrow": false,
2190
- "text": "5.9",
2191
- "x": 1,
2192
- "xref": "x",
2193
- "y": 30,
2194
- "yref": "y"
2195
- },
2196
- {
2197
- "font": {
2198
- "color": "black",
2199
- "size": 10
2200
- },
2201
- "showarrow": false,
2202
- "text": "71",
2203
- "x": 2,
2204
- "xref": "x",
2205
- "y": 30,
2206
- "yref": "y"
2207
- },
2208
- {
2209
- "font": {
2210
- "color": "black",
2211
- "size": 10
2212
- },
2213
- "showarrow": false,
2214
- "text": "329",
2215
- "x": 3,
2216
- "xref": "x",
2217
- "y": 30,
2218
- "yref": "y"
2219
- },
2220
- {
2221
- "font": {
2222
- "color": "black",
2223
- "size": 10
2224
- },
2225
- "showarrow": false,
2226
- "text": "52",
2227
- "x": 0,
2228
- "xref": "x",
2229
- "y": 31,
2230
- "yref": "y"
2231
- },
2232
- {
2233
- "font": {
2234
- "color": "black",
2235
- "size": 10
2236
- },
2237
- "showarrow": false,
2238
- "text": "23.6",
2239
- "x": 1,
2240
- "xref": "x",
2241
- "y": 31,
2242
- "yref": "y"
2243
- },
2244
- {
2245
- "font": {
2246
- "color": "white",
2247
- "size": 10
2248
- },
2249
- "showarrow": false,
2250
- "text": "553",
2251
- "x": 2,
2252
- "xref": "x",
2253
- "y": 31,
2254
- "yref": "y"
2255
- },
2256
- {
2257
- "font": {
2258
- "color": "white",
2259
- "size": 10
2260
- },
2261
- "showarrow": false,
2262
- "text": "1229",
2263
- "x": 3,
2264
- "xref": "x",
2265
- "y": 31,
2266
- "yref": "y"
2267
- },
2268
- {
2269
- "font": {
2270
- "color": "black",
2271
- "size": 10
2272
- },
2273
- "showarrow": false,
2274
- "text": "108",
2275
- "x": 0,
2276
- "xref": "x",
2277
- "y": 32,
2278
- "yref": "y"
2279
- },
2280
- {
2281
- "font": {
2282
- "color": "black",
2283
- "size": 10
2284
- },
2285
- "showarrow": false,
2286
- "text": "2.2",
2287
- "x": 1,
2288
- "xref": "x",
2289
- "y": 32,
2290
- "yref": "y"
2291
- },
2292
- {
2293
- "font": {
2294
- "color": "black",
2295
- "size": 10
2296
- },
2297
- "showarrow": false,
2298
- "text": "38",
2299
- "x": 2,
2300
- "xref": "x",
2301
- "y": 32,
2302
- "yref": "y"
2303
- },
2304
- {
2305
- "font": {
2306
- "color": "black",
2307
- "size": 10
2308
- },
2309
- "showarrow": false,
2310
- "text": "234",
2311
- "x": 3,
2312
- "xref": "x",
2313
- "y": 32,
2314
- "yref": "y"
2315
- },
2316
- {
2317
- "font": {
2318
- "color": "black",
2319
- "size": 10
2320
- },
2321
- "showarrow": false,
2322
- "text": "46",
2323
- "x": 0,
2324
- "xref": "x",
2325
- "y": 33,
2326
- "yref": "y"
2327
- },
2328
- {
2329
- "font": {
2330
- "color": "black",
2331
- "size": 10
2332
- },
2333
- "showarrow": false,
2334
- "text": "5.0",
2335
- "x": 1,
2336
- "xref": "x",
2337
- "y": 33,
2338
- "yref": "y"
2339
- },
2340
- {
2341
- "font": {
2342
- "color": "black",
2343
- "size": 10
2344
- },
2345
- "showarrow": false,
2346
- "text": "48",
2347
- "x": 2,
2348
- "xref": "x",
2349
- "y": 33,
2350
- "yref": "y"
2351
- },
2352
- {
2353
- "font": {
2354
- "color": "black",
2355
- "size": 10
2356
- },
2357
- "showarrow": false,
2358
- "text": "231",
2359
- "x": 3,
2360
- "xref": "x",
2361
- "y": 33,
2362
- "yref": "y"
2363
- },
2364
- {
2365
- "font": {
2366
- "color": "black",
2367
- "size": 10
2368
- },
2369
- "showarrow": false,
2370
- "text": "34",
2371
- "x": 0,
2372
- "xref": "x",
2373
- "y": 34,
2374
- "yref": "y"
2375
- },
2376
- {
2377
- "font": {
2378
- "color": "black",
2379
- "size": 10
2380
- },
2381
- "showarrow": false,
2382
- "text": "8.2",
2383
- "x": 1,
2384
- "xref": "x",
2385
- "y": 34,
2386
- "yref": "y"
2387
- },
2388
- {
2389
- "font": {
2390
- "color": "black",
2391
- "size": 10
2392
- },
2393
- "showarrow": false,
2394
- "text": "73",
2395
- "x": 2,
2396
- "xref": "x",
2397
- "y": 34,
2398
- "yref": "y"
2399
- },
2400
- {
2401
- "font": {
2402
- "color": "black",
2403
- "size": 10
2404
- },
2405
- "showarrow": false,
2406
- "text": "278",
2407
- "x": 3,
2408
- "xref": "x",
2409
- "y": 34,
2410
- "yref": "y"
2411
- },
2412
- {
2413
- "font": {
2414
- "color": "black",
2415
- "size": 10
2416
- },
2417
- "showarrow": false,
2418
- "text": "198",
2419
- "x": 0,
2420
- "xref": "x",
2421
- "y": 35,
2422
- "yref": "y"
2423
- },
2424
- {
2425
- "font": {
2426
- "color": "black",
2427
- "size": 10
2428
- },
2429
- "showarrow": false,
2430
- "text": "1.1",
2431
- "x": 1,
2432
- "xref": "x",
2433
- "y": 35,
2434
- "yref": "y"
2435
- },
2436
- {
2437
- "font": {
2438
- "color": "black",
2439
- "size": 10
2440
- },
2441
- "showarrow": false,
2442
- "text": "7",
2443
- "x": 2,
2444
- "xref": "x",
2445
- "y": 35,
2446
- "yref": "y"
2447
- },
2448
- {
2449
- "font": {
2450
- "color": "black",
2451
- "size": 10
2452
- },
2453
- "showarrow": false,
2454
- "text": "216",
2455
- "x": 3,
2456
- "xref": "x",
2457
- "y": 35,
2458
- "yref": "y"
2459
- },
2460
- {
2461
- "font": {
2462
- "color": "black",
2463
- "size": 10
2464
- },
2465
- "showarrow": false,
2466
- "text": "23",
2467
- "x": 0,
2468
- "xref": "x",
2469
- "y": 36,
2470
- "yref": "y"
2471
- },
2472
- {
2473
- "font": {
2474
- "color": "black",
2475
- "size": 10
2476
- },
2477
- "showarrow": false,
2478
- "text": "15.6",
2479
- "x": 1,
2480
- "xref": "x",
2481
- "y": 36,
2482
- "yref": "y"
2483
- },
2484
- {
2485
- "font": {
2486
- "color": "black",
2487
- "size": 10
2488
- },
2489
- "showarrow": false,
2490
- "text": "193",
2491
- "x": 2,
2492
- "xref": "x",
2493
- "y": 36,
2494
- "yref": "y"
2495
- },
2496
- {
2497
- "font": {
2498
- "color": "black",
2499
- "size": 10
2500
- },
2501
- "showarrow": false,
2502
- "text": "359",
2503
- "x": 3,
2504
- "xref": "x",
2505
- "y": 36,
2506
- "yref": "y"
2507
- },
2508
- {
2509
- "font": {
2510
- "color": "black",
2511
- "size": 10
2512
- },
2513
- "showarrow": false,
2514
- "text": "145",
2515
- "x": 0,
2516
- "xref": "x",
2517
- "y": 37,
2518
- "yref": "y"
2519
- },
2520
- {
2521
- "font": {
2522
- "color": "black",
2523
- "size": 10
2524
- },
2525
- "showarrow": false,
2526
- "text": "1.6",
2527
- "x": 1,
2528
- "xref": "x",
2529
- "y": 37,
2530
- "yref": "y"
2531
- },
2532
- {
2533
- "font": {
2534
- "color": "black",
2535
- "size": 10
2536
- },
2537
- "showarrow": false,
2538
- "text": "22",
2539
- "x": 2,
2540
- "xref": "x",
2541
- "y": 37,
2542
- "yref": "y"
2543
- },
2544
- {
2545
- "font": {
2546
- "color": "black",
2547
- "size": 10
2548
- },
2549
- "showarrow": false,
2550
- "text": "234",
2551
- "x": 3,
2552
- "xref": "x",
2553
- "y": 37,
2554
- "yref": "y"
2555
- },
2556
- {
2557
- "font": {
2558
- "color": "black",
2559
- "size": 10
2560
- },
2561
- "showarrow": false,
2562
- "text": "52",
2563
- "x": 0,
2564
- "xref": "x",
2565
- "y": 38,
2566
- "yref": "y"
2567
- },
2568
- {
2569
- "font": {
2570
- "color": "black",
2571
- "size": 10
2572
- },
2573
- "showarrow": false,
2574
- "text": "5.6",
2575
- "x": 1,
2576
- "xref": "x",
2577
- "y": 38,
2578
- "yref": "y"
2579
- },
2580
- {
2581
- "font": {
2582
- "color": "black",
2583
- "size": 10
2584
- },
2585
- "showarrow": false,
2586
- "text": "47",
2587
- "x": 2,
2588
- "xref": "x",
2589
- "y": 38,
2590
- "yref": "y"
2591
- },
2592
- {
2593
- "font": {
2594
- "color": "black",
2595
- "size": 10
2596
- },
2597
- "showarrow": false,
2598
- "text": "291",
2599
- "x": 3,
2600
- "xref": "x",
2601
- "y": 38,
2602
- "yref": "y"
2603
- },
2604
- {
2605
- "font": {
2606
- "color": "black",
2607
- "size": 10
2608
- },
2609
- "showarrow": false,
2610
- "text": "14",
2611
- "x": 0,
2612
- "xref": "x",
2613
- "y": 39,
2614
- "yref": "y"
2615
- },
2616
- {
2617
- "font": {
2618
- "color": "black",
2619
- "size": 10
2620
- },
2621
- "showarrow": false,
2622
- "text": "16.6",
2623
- "x": 1,
2624
- "xref": "x",
2625
- "y": 39,
2626
- "yref": "y"
2627
- },
2628
- {
2629
- "font": {
2630
- "color": "black",
2631
- "size": 10
2632
- },
2633
- "showarrow": false,
2634
- "text": "154",
2635
- "x": 2,
2636
- "xref": "x",
2637
- "y": 39,
2638
- "yref": "y"
2639
- },
2640
- {
2641
- "font": {
2642
- "color": "black",
2643
- "size": 10
2644
- },
2645
- "showarrow": false,
2646
- "text": "232",
2647
- "x": 3,
2648
- "xref": "x",
2649
- "y": 39,
2650
- "yref": "y"
2651
- },
2652
- {
2653
- "font": {
2654
- "color": "black",
2655
- "size": 10
2656
- },
2657
- "showarrow": false,
2658
- "text": "50",
2659
- "x": 0,
2660
- "xref": "x",
2661
- "y": 40,
2662
- "yref": "y"
2663
- },
2664
- {
2665
- "font": {
2666
- "color": "black",
2667
- "size": 10
2668
- },
2669
- "showarrow": false,
2670
- "text": "7.8",
2671
- "x": 1,
2672
- "xref": "x",
2673
- "y": 40,
2674
- "yref": "y"
2675
- },
2676
- {
2677
- "font": {
2678
- "color": "black",
2679
- "size": 10
2680
- },
2681
- "showarrow": false,
2682
- "text": "43",
2683
- "x": 2,
2684
- "xref": "x",
2685
- "y": 40,
2686
- "yref": "y"
2687
- },
2688
- {
2689
- "font": {
2690
- "color": "black",
2691
- "size": 10
2692
- },
2693
- "showarrow": false,
2694
- "text": "392",
2695
- "x": 3,
2696
- "xref": "x",
2697
- "y": 40,
2698
- "yref": "y"
2699
- },
2700
- {
2701
- "font": {
2702
- "color": "black",
2703
- "size": 10
2704
- },
2705
- "showarrow": false,
2706
- "text": "141",
2707
- "x": 0,
2708
- "xref": "x",
2709
- "y": 41,
2710
- "yref": "y"
2711
- },
2712
- {
2713
- "font": {
2714
- "color": "black",
2715
- "size": 10
2716
- },
2717
- "showarrow": false,
2718
- "text": "1.6",
2719
- "x": 1,
2720
- "xref": "x",
2721
- "y": 41,
2722
- "yref": "y"
2723
- },
2724
- {
2725
- "font": {
2726
- "color": "black",
2727
- "size": 10
2728
- },
2729
- "showarrow": false,
2730
- "text": "12",
2731
- "x": 2,
2732
- "xref": "x",
2733
- "y": 41,
2734
- "yref": "y"
2735
- },
2736
- {
2737
- "font": {
2738
- "color": "black",
2739
- "size": 10
2740
- },
2741
- "showarrow": false,
2742
- "text": "232",
2743
- "x": 3,
2744
- "xref": "x",
2745
- "y": 41,
2746
- "yref": "y"
2747
- },
2748
- {
2749
- "font": {
2750
- "color": "black",
2751
- "size": 10
2752
- },
2753
- "showarrow": false,
2754
- "text": "64",
2755
- "x": 0,
2756
- "xref": "x",
2757
- "y": 42,
2758
- "yref": "y"
2759
- },
2760
- {
2761
- "font": {
2762
- "color": "black",
2763
- "size": 10
2764
- },
2765
- "showarrow": false,
2766
- "text": "3.4",
2767
- "x": 1,
2768
- "xref": "x",
2769
- "y": 42,
2770
- "yref": "y"
2771
- },
2772
- {
2773
- "font": {
2774
- "color": "black",
2775
- "size": 10
2776
- },
2777
- "showarrow": false,
2778
- "text": "18",
2779
- "x": 2,
2780
- "xref": "x",
2781
- "y": 42,
2782
- "yref": "y"
2783
- },
2784
- {
2785
- "font": {
2786
- "color": "black",
2787
- "size": 10
2788
- },
2789
- "showarrow": false,
2790
- "text": "216",
2791
- "x": 3,
2792
- "xref": "x",
2793
- "y": 42,
2794
- "yref": "y"
2795
- },
2796
- {
2797
- "font": {
2798
- "color": "black",
2799
- "size": 10
2800
- },
2801
- "showarrow": false,
2802
- "text": "64",
2803
- "x": 0,
2804
- "xref": "x",
2805
- "y": 43,
2806
- "yref": "y"
2807
- },
2808
- {
2809
- "font": {
2810
- "color": "black",
2811
- "size": 10
2812
- },
2813
- "showarrow": false,
2814
- "text": "4.1",
2815
- "x": 1,
2816
- "xref": "x",
2817
- "y": 43,
2818
- "yref": "y"
2819
- },
2820
- {
2821
- "font": {
2822
- "color": "black",
2823
- "size": 10
2824
- },
2825
- "showarrow": false,
2826
- "text": "83",
2827
- "x": 2,
2828
- "xref": "x",
2829
- "y": 43,
2830
- "yref": "y"
2831
- },
2832
- {
2833
- "font": {
2834
- "color": "black",
2835
- "size": 10
2836
- },
2837
- "showarrow": false,
2838
- "text": "260",
2839
- "x": 3,
2840
- "xref": "x",
2841
- "y": 43,
2842
- "yref": "y"
2843
- },
2844
- {
2845
- "font": {
2846
- "color": "black",
2847
- "size": 10
2848
- },
2849
- "showarrow": false,
2850
- "text": "38",
2851
- "x": 0,
2852
- "xref": "x",
2853
- "y": 44,
2854
- "yref": "y"
2855
- },
2856
- {
2857
- "font": {
2858
- "color": "black",
2859
- "size": 10
2860
- },
2861
- "showarrow": false,
2862
- "text": "6.3",
2863
- "x": 1,
2864
- "xref": "x",
2865
- "y": 44,
2866
- "yref": "y"
2867
- },
2868
- {
2869
- "font": {
2870
- "color": "black",
2871
- "size": 10
2872
- },
2873
- "showarrow": false,
2874
- "text": "48",
2875
- "x": 2,
2876
- "xref": "x",
2877
- "y": 44,
2878
- "yref": "y"
2879
- },
2880
- {
2881
- "font": {
2882
- "color": "black",
2883
- "size": 10
2884
- },
2885
- "showarrow": false,
2886
- "text": "241",
2887
- "x": 3,
2888
- "xref": "x",
2889
- "y": 44,
2890
- "yref": "y"
2891
- },
2892
- {
2893
- "font": {
2894
- "color": "black",
2895
- "size": 10
2896
- },
2897
- "showarrow": false,
2898
- "text": "47",
2899
- "x": 0,
2900
- "xref": "x",
2901
- "y": 45,
2902
- "yref": "y"
2903
- },
2904
- {
2905
- "font": {
2906
- "color": "black",
2907
- "size": 10
2908
- },
2909
- "showarrow": false,
2910
- "text": "6.3",
2911
- "x": 1,
2912
- "xref": "x",
2913
- "y": 45,
2914
- "yref": "y"
2915
- },
2916
- {
2917
- "font": {
2918
- "color": "black",
2919
- "size": 10
2920
- },
2921
- "showarrow": false,
2922
- "text": "44",
2923
- "x": 2,
2924
- "xref": "x",
2925
- "y": 45,
2926
- "yref": "y"
2927
- },
2928
- {
2929
- "font": {
2930
- "color": "black",
2931
- "size": 10
2932
- },
2933
- "showarrow": false,
2934
- "text": "295",
2935
- "x": 3,
2936
- "xref": "x",
2937
- "y": 45,
2938
- "yref": "y"
2939
- },
2940
- {
2941
- "font": {
2942
- "color": "black",
2943
- "size": 10
2944
- },
2945
- "showarrow": false,
2946
- "text": "20",
2947
- "x": 0,
2948
- "xref": "x",
2949
- "y": 46,
2950
- "yref": "y"
2951
- },
2952
- {
2953
- "font": {
2954
- "color": "black",
2955
- "size": 10
2956
- },
2957
- "showarrow": false,
2958
- "text": "15.8",
2959
- "x": 1,
2960
- "xref": "x",
2961
- "y": 46,
2962
- "yref": "y"
2963
- },
2964
- {
2965
- "font": {
2966
- "color": "black",
2967
- "size": 10
2968
- },
2969
- "showarrow": false,
2970
- "text": "44",
2971
- "x": 2,
2972
- "xref": "x",
2973
- "y": 46,
2974
- "yref": "y"
2975
- },
2976
- {
2977
- "font": {
2978
- "color": "black",
2979
- "size": 10
2980
- },
2981
- "showarrow": false,
2982
- "text": "317",
2983
- "x": 3,
2984
- "xref": "x",
2985
- "y": 46,
2986
- "yref": "y"
2987
- },
2988
- {
2989
- "font": {
2990
- "color": "black",
2991
- "size": 10
2992
- },
2993
- "showarrow": false,
2994
- "text": "98",
2995
- "x": 0,
2996
- "xref": "x",
2997
- "y": 47,
2998
- "yref": "y"
2999
- },
3000
- {
3001
- "font": {
3002
- "color": "black",
3003
- "size": 10
3004
- },
3005
- "showarrow": false,
3006
- "text": "2.4",
3007
- "x": 1,
3008
- "xref": "x",
3009
- "y": 47,
3010
- "yref": "y"
3011
- },
3012
- {
3013
- "font": {
3014
- "color": "black",
3015
- "size": 10
3016
- },
3017
- "showarrow": false,
3018
- "text": "32",
3019
- "x": 2,
3020
- "xref": "x",
3021
- "y": 47,
3022
- "yref": "y"
3023
- },
3024
- {
3025
- "font": {
3026
- "color": "black",
3027
- "size": 10
3028
- },
3029
- "showarrow": false,
3030
- "text": "236",
3031
- "x": 3,
3032
- "xref": "x",
3033
- "y": 47,
3034
- "yref": "y"
3035
- },
3036
- {
3037
- "font": {
3038
- "color": "black",
3039
- "size": 10
3040
- },
3041
- "showarrow": false,
3042
- "text": "155",
3043
- "x": 0,
3044
- "xref": "x",
3045
- "y": 48,
3046
- "yref": "y"
3047
- },
3048
- {
3049
- "font": {
3050
- "color": "black",
3051
- "size": 10
3052
- },
3053
- "showarrow": false,
3054
- "text": "1.5",
3055
- "x": 1,
3056
- "xref": "x",
3057
- "y": 48,
3058
- "yref": "y"
3059
- },
3060
- {
3061
- "font": {
3062
- "color": "black",
3063
- "size": 10
3064
- },
3065
- "showarrow": false,
3066
- "text": "12",
3067
- "x": 2,
3068
- "xref": "x",
3069
- "y": 48,
3070
- "yref": "y"
3071
- },
3072
- {
3073
- "font": {
3074
- "color": "black",
3075
- "size": 10
3076
- },
3077
- "showarrow": false,
3078
- "text": "238",
3079
- "x": 3,
3080
- "xref": "x",
3081
- "y": 48,
3082
- "yref": "y"
3083
- },
3084
- {
3085
- "font": {
3086
- "color": "black",
3087
- "size": 10
3088
- },
3089
- "showarrow": false,
3090
- "text": "202",
3091
- "x": 0,
3092
- "xref": "x",
3093
- "y": 49,
3094
- "yref": "y"
3095
- },
3096
- {
3097
- "font": {
3098
- "color": "black",
3099
- "size": 10
3100
- },
3101
- "showarrow": false,
3102
- "text": "1.1",
3103
- "x": 1,
3104
- "xref": "x",
3105
- "y": 49,
3106
- "yref": "y"
3107
- },
3108
- {
3109
- "font": {
3110
- "color": "black",
3111
- "size": 10
3112
- },
3113
- "showarrow": false,
3114
- "text": "3",
3115
- "x": 2,
3116
- "xref": "x",
3117
- "y": 49,
3118
- "yref": "y"
3119
- },
3120
- {
3121
- "font": {
3122
- "color": "black",
3123
- "size": 10
3124
- },
3125
- "showarrow": false,
3126
- "text": "217",
3127
- "x": 3,
3128
- "xref": "x",
3129
- "y": 49,
3130
- "yref": "y"
3131
- }
3132
- ],
3133
- "height": 1450,
3134
- "margin": {
3135
- "b": 80,
3136
- "l": 250,
3137
- "r": 50,
3138
- "t": 100
3139
- },
3140
- "plot_bgcolor": "white",
3141
- "template": {
3142
- "data": {
3143
- "bar": [
3144
- {
3145
- "error_x": {
3146
- "color": "#2a3f5f"
3147
- },
3148
- "error_y": {
3149
- "color": "#2a3f5f"
3150
- },
3151
- "marker": {
3152
- "line": {
3153
- "color": "#E5ECF6",
3154
- "width": 0.5
3155
- },
3156
- "pattern": {
3157
- "fillmode": "overlay",
3158
- "size": 10,
3159
- "solidity": 0.2
3160
- }
3161
- },
3162
- "type": "bar"
3163
- }
3164
- ],
3165
- "barpolar": [
3166
- {
3167
- "marker": {
3168
- "line": {
3169
- "color": "#E5ECF6",
3170
- "width": 0.5
3171
- },
3172
- "pattern": {
3173
- "fillmode": "overlay",
3174
- "size": 10,
3175
- "solidity": 0.2
3176
- }
3177
- },
3178
- "type": "barpolar"
3179
- }
3180
- ],
3181
- "carpet": [
3182
- {
3183
- "aaxis": {
3184
- "endlinecolor": "#2a3f5f",
3185
- "gridcolor": "white",
3186
- "linecolor": "white",
3187
- "minorgridcolor": "white",
3188
- "startlinecolor": "#2a3f5f"
3189
- },
3190
- "baxis": {
3191
- "endlinecolor": "#2a3f5f",
3192
- "gridcolor": "white",
3193
- "linecolor": "white",
3194
- "minorgridcolor": "white",
3195
- "startlinecolor": "#2a3f5f"
3196
- },
3197
- "type": "carpet"
3198
- }
3199
- ],
3200
- "choropleth": [
3201
- {
3202
- "colorbar": {
3203
- "outlinewidth": 0,
3204
- "ticks": ""
3205
- },
3206
- "type": "choropleth"
3207
- }
3208
- ],
3209
- "contour": [
3210
- {
3211
- "colorbar": {
3212
- "outlinewidth": 0,
3213
- "ticks": ""
3214
- },
3215
- "colorscale": [
3216
- [
3217
- 0,
3218
- "#0d0887"
3219
- ],
3220
- [
3221
- 0.1111111111111111,
3222
- "#46039f"
3223
- ],
3224
- [
3225
- 0.2222222222222222,
3226
- "#7201a8"
3227
- ],
3228
- [
3229
- 0.3333333333333333,
3230
- "#9c179e"
3231
- ],
3232
- [
3233
- 0.4444444444444444,
3234
- "#bd3786"
3235
- ],
3236
- [
3237
- 0.5555555555555556,
3238
- "#d8576b"
3239
- ],
3240
- [
3241
- 0.6666666666666666,
3242
- "#ed7953"
3243
- ],
3244
- [
3245
- 0.7777777777777778,
3246
- "#fb9f3a"
3247
- ],
3248
- [
3249
- 0.8888888888888888,
3250
- "#fdca26"
3251
- ],
3252
- [
3253
- 1,
3254
- "#f0f921"
3255
- ]
3256
- ],
3257
- "type": "contour"
3258
- }
3259
- ],
3260
- "contourcarpet": [
3261
- {
3262
- "colorbar": {
3263
- "outlinewidth": 0,
3264
- "ticks": ""
3265
- },
3266
- "type": "contourcarpet"
3267
- }
3268
- ],
3269
- "heatmap": [
3270
- {
3271
- "colorbar": {
3272
- "outlinewidth": 0,
3273
- "ticks": ""
3274
- },
3275
- "colorscale": [
3276
- [
3277
- 0,
3278
- "#0d0887"
3279
- ],
3280
- [
3281
- 0.1111111111111111,
3282
- "#46039f"
3283
- ],
3284
- [
3285
- 0.2222222222222222,
3286
- "#7201a8"
3287
- ],
3288
- [
3289
- 0.3333333333333333,
3290
- "#9c179e"
3291
- ],
3292
- [
3293
- 0.4444444444444444,
3294
- "#bd3786"
3295
- ],
3296
- [
3297
- 0.5555555555555556,
3298
- "#d8576b"
3299
- ],
3300
- [
3301
- 0.6666666666666666,
3302
- "#ed7953"
3303
- ],
3304
- [
3305
- 0.7777777777777778,
3306
- "#fb9f3a"
3307
- ],
3308
- [
3309
- 0.8888888888888888,
3310
- "#fdca26"
3311
- ],
3312
- [
3313
- 1,
3314
- "#f0f921"
3315
- ]
3316
- ],
3317
- "type": "heatmap"
3318
- }
3319
- ],
3320
- "heatmapgl": [
3321
- {
3322
- "colorbar": {
3323
- "outlinewidth": 0,
3324
- "ticks": ""
3325
- },
3326
- "colorscale": [
3327
- [
3328
- 0,
3329
- "#0d0887"
3330
- ],
3331
- [
3332
- 0.1111111111111111,
3333
- "#46039f"
3334
- ],
3335
- [
3336
- 0.2222222222222222,
3337
- "#7201a8"
3338
- ],
3339
- [
3340
- 0.3333333333333333,
3341
- "#9c179e"
3342
- ],
3343
- [
3344
- 0.4444444444444444,
3345
- "#bd3786"
3346
- ],
3347
- [
3348
- 0.5555555555555556,
3349
- "#d8576b"
3350
- ],
3351
- [
3352
- 0.6666666666666666,
3353
- "#ed7953"
3354
- ],
3355
- [
3356
- 0.7777777777777778,
3357
- "#fb9f3a"
3358
- ],
3359
- [
3360
- 0.8888888888888888,
3361
- "#fdca26"
3362
- ],
3363
- [
3364
- 1,
3365
- "#f0f921"
3366
- ]
3367
- ],
3368
- "type": "heatmapgl"
3369
- }
3370
- ],
3371
- "histogram": [
3372
- {
3373
- "marker": {
3374
- "pattern": {
3375
- "fillmode": "overlay",
3376
- "size": 10,
3377
- "solidity": 0.2
3378
- }
3379
- },
3380
- "type": "histogram"
3381
- }
3382
- ],
3383
- "histogram2d": [
3384
- {
3385
- "colorbar": {
3386
- "outlinewidth": 0,
3387
- "ticks": ""
3388
- },
3389
- "colorscale": [
3390
- [
3391
- 0,
3392
- "#0d0887"
3393
- ],
3394
- [
3395
- 0.1111111111111111,
3396
- "#46039f"
3397
- ],
3398
- [
3399
- 0.2222222222222222,
3400
- "#7201a8"
3401
- ],
3402
- [
3403
- 0.3333333333333333,
3404
- "#9c179e"
3405
- ],
3406
- [
3407
- 0.4444444444444444,
3408
- "#bd3786"
3409
- ],
3410
- [
3411
- 0.5555555555555556,
3412
- "#d8576b"
3413
- ],
3414
- [
3415
- 0.6666666666666666,
3416
- "#ed7953"
3417
- ],
3418
- [
3419
- 0.7777777777777778,
3420
- "#fb9f3a"
3421
- ],
3422
- [
3423
- 0.8888888888888888,
3424
- "#fdca26"
3425
- ],
3426
- [
3427
- 1,
3428
- "#f0f921"
3429
- ]
3430
- ],
3431
- "type": "histogram2d"
3432
- }
3433
- ],
3434
- "histogram2dcontour": [
3435
- {
3436
- "colorbar": {
3437
- "outlinewidth": 0,
3438
- "ticks": ""
3439
- },
3440
- "colorscale": [
3441
- [
3442
- 0,
3443
- "#0d0887"
3444
- ],
3445
- [
3446
- 0.1111111111111111,
3447
- "#46039f"
3448
- ],
3449
- [
3450
- 0.2222222222222222,
3451
- "#7201a8"
3452
- ],
3453
- [
3454
- 0.3333333333333333,
3455
- "#9c179e"
3456
- ],
3457
- [
3458
- 0.4444444444444444,
3459
- "#bd3786"
3460
- ],
3461
- [
3462
- 0.5555555555555556,
3463
- "#d8576b"
3464
- ],
3465
- [
3466
- 0.6666666666666666,
3467
- "#ed7953"
3468
- ],
3469
- [
3470
- 0.7777777777777778,
3471
- "#fb9f3a"
3472
- ],
3473
- [
3474
- 0.8888888888888888,
3475
- "#fdca26"
3476
- ],
3477
- [
3478
- 1,
3479
- "#f0f921"
3480
- ]
3481
- ],
3482
- "type": "histogram2dcontour"
3483
- }
3484
- ],
3485
- "mesh3d": [
3486
- {
3487
- "colorbar": {
3488
- "outlinewidth": 0,
3489
- "ticks": ""
3490
- },
3491
- "type": "mesh3d"
3492
- }
3493
- ],
3494
- "parcoords": [
3495
- {
3496
- "line": {
3497
- "colorbar": {
3498
- "outlinewidth": 0,
3499
- "ticks": ""
3500
- }
3501
- },
3502
- "type": "parcoords"
3503
- }
3504
- ],
3505
- "pie": [
3506
- {
3507
- "automargin": true,
3508
- "type": "pie"
3509
- }
3510
- ],
3511
- "scatter": [
3512
- {
3513
- "fillpattern": {
3514
- "fillmode": "overlay",
3515
- "size": 10,
3516
- "solidity": 0.2
3517
- },
3518
- "type": "scatter"
3519
- }
3520
- ],
3521
- "scatter3d": [
3522
- {
3523
- "line": {
3524
- "colorbar": {
3525
- "outlinewidth": 0,
3526
- "ticks": ""
3527
- }
3528
- },
3529
- "marker": {
3530
- "colorbar": {
3531
- "outlinewidth": 0,
3532
- "ticks": ""
3533
- }
3534
- },
3535
- "type": "scatter3d"
3536
- }
3537
- ],
3538
- "scattercarpet": [
3539
- {
3540
- "marker": {
3541
- "colorbar": {
3542
- "outlinewidth": 0,
3543
- "ticks": ""
3544
- }
3545
- },
3546
- "type": "scattercarpet"
3547
- }
3548
- ],
3549
- "scattergeo": [
3550
- {
3551
- "marker": {
3552
- "colorbar": {
3553
- "outlinewidth": 0,
3554
- "ticks": ""
3555
- }
3556
- },
3557
- "type": "scattergeo"
3558
- }
3559
- ],
3560
- "scattergl": [
3561
- {
3562
- "marker": {
3563
- "colorbar": {
3564
- "outlinewidth": 0,
3565
- "ticks": ""
3566
- }
3567
- },
3568
- "type": "scattergl"
3569
- }
3570
- ],
3571
- "scattermapbox": [
3572
- {
3573
- "marker": {
3574
- "colorbar": {
3575
- "outlinewidth": 0,
3576
- "ticks": ""
3577
- }
3578
- },
3579
- "type": "scattermapbox"
3580
- }
3581
- ],
3582
- "scatterpolar": [
3583
- {
3584
- "marker": {
3585
- "colorbar": {
3586
- "outlinewidth": 0,
3587
- "ticks": ""
3588
- }
3589
- },
3590
- "type": "scatterpolar"
3591
- }
3592
- ],
3593
- "scatterpolargl": [
3594
- {
3595
- "marker": {
3596
- "colorbar": {
3597
- "outlinewidth": 0,
3598
- "ticks": ""
3599
- }
3600
- },
3601
- "type": "scatterpolargl"
3602
- }
3603
- ],
3604
- "scatterternary": [
3605
- {
3606
- "marker": {
3607
- "colorbar": {
3608
- "outlinewidth": 0,
3609
- "ticks": ""
3610
- }
3611
- },
3612
- "type": "scatterternary"
3613
- }
3614
- ],
3615
- "surface": [
3616
- {
3617
- "colorbar": {
3618
- "outlinewidth": 0,
3619
- "ticks": ""
3620
- },
3621
- "colorscale": [
3622
- [
3623
- 0,
3624
- "#0d0887"
3625
- ],
3626
- [
3627
- 0.1111111111111111,
3628
- "#46039f"
3629
- ],
3630
- [
3631
- 0.2222222222222222,
3632
- "#7201a8"
3633
- ],
3634
- [
3635
- 0.3333333333333333,
3636
- "#9c179e"
3637
- ],
3638
- [
3639
- 0.4444444444444444,
3640
- "#bd3786"
3641
- ],
3642
- [
3643
- 0.5555555555555556,
3644
- "#d8576b"
3645
- ],
3646
- [
3647
- 0.6666666666666666,
3648
- "#ed7953"
3649
- ],
3650
- [
3651
- 0.7777777777777778,
3652
- "#fb9f3a"
3653
- ],
3654
- [
3655
- 0.8888888888888888,
3656
- "#fdca26"
3657
- ],
3658
- [
3659
- 1,
3660
- "#f0f921"
3661
- ]
3662
- ],
3663
- "type": "surface"
3664
- }
3665
- ],
3666
- "table": [
3667
- {
3668
- "cells": {
3669
- "fill": {
3670
- "color": "#EBF0F8"
3671
- },
3672
- "line": {
3673
- "color": "white"
3674
- }
3675
- },
3676
- "header": {
3677
- "fill": {
3678
- "color": "#C8D4E3"
3679
- },
3680
- "line": {
3681
- "color": "white"
3682
- }
3683
- },
3684
- "type": "table"
3685
- }
3686
- ]
3687
- },
3688
- "layout": {
3689
- "annotationdefaults": {
3690
- "arrowcolor": "#2a3f5f",
3691
- "arrowhead": 0,
3692
- "arrowwidth": 1
3693
- },
3694
- "autotypenumbers": "strict",
3695
- "coloraxis": {
3696
- "colorbar": {
3697
- "outlinewidth": 0,
3698
- "ticks": ""
3699
- }
3700
- },
3701
- "colorscale": {
3702
- "diverging": [
3703
- [
3704
- 0,
3705
- "#8e0152"
3706
- ],
3707
- [
3708
- 0.1,
3709
- "#c51b7d"
3710
- ],
3711
- [
3712
- 0.2,
3713
- "#de77ae"
3714
- ],
3715
- [
3716
- 0.3,
3717
- "#f1b6da"
3718
- ],
3719
- [
3720
- 0.4,
3721
- "#fde0ef"
3722
- ],
3723
- [
3724
- 0.5,
3725
- "#f7f7f7"
3726
- ],
3727
- [
3728
- 0.6,
3729
- "#e6f5d0"
3730
- ],
3731
- [
3732
- 0.7,
3733
- "#b8e186"
3734
- ],
3735
- [
3736
- 0.8,
3737
- "#7fbc41"
3738
- ],
3739
- [
3740
- 0.9,
3741
- "#4d9221"
3742
- ],
3743
- [
3744
- 1,
3745
- "#276419"
3746
- ]
3747
- ],
3748
- "sequential": [
3749
- [
3750
- 0,
3751
- "#0d0887"
3752
- ],
3753
- [
3754
- 0.1111111111111111,
3755
- "#46039f"
3756
- ],
3757
- [
3758
- 0.2222222222222222,
3759
- "#7201a8"
3760
- ],
3761
- [
3762
- 0.3333333333333333,
3763
- "#9c179e"
3764
- ],
3765
- [
3766
- 0.4444444444444444,
3767
- "#bd3786"
3768
- ],
3769
- [
3770
- 0.5555555555555556,
3771
- "#d8576b"
3772
- ],
3773
- [
3774
- 0.6666666666666666,
3775
- "#ed7953"
3776
- ],
3777
- [
3778
- 0.7777777777777778,
3779
- "#fb9f3a"
3780
- ],
3781
- [
3782
- 0.8888888888888888,
3783
- "#fdca26"
3784
- ],
3785
- [
3786
- 1,
3787
- "#f0f921"
3788
- ]
3789
- ],
3790
- "sequentialminus": [
3791
- [
3792
- 0,
3793
- "#0d0887"
3794
- ],
3795
- [
3796
- 0.1111111111111111,
3797
- "#46039f"
3798
- ],
3799
- [
3800
- 0.2222222222222222,
3801
- "#7201a8"
3802
- ],
3803
- [
3804
- 0.3333333333333333,
3805
- "#9c179e"
3806
- ],
3807
- [
3808
- 0.4444444444444444,
3809
- "#bd3786"
3810
- ],
3811
- [
3812
- 0.5555555555555556,
3813
- "#d8576b"
3814
- ],
3815
- [
3816
- 0.6666666666666666,
3817
- "#ed7953"
3818
- ],
3819
- [
3820
- 0.7777777777777778,
3821
- "#fb9f3a"
3822
- ],
3823
- [
3824
- 0.8888888888888888,
3825
- "#fdca26"
3826
- ],
3827
- [
3828
- 1,
3829
- "#f0f921"
3830
- ]
3831
- ]
3832
- },
3833
- "colorway": [
3834
- "#636efa",
3835
- "#EF553B",
3836
- "#00cc96",
3837
- "#ab63fa",
3838
- "#FFA15A",
3839
- "#19d3f3",
3840
- "#FF6692",
3841
- "#B6E880",
3842
- "#FF97FF",
3843
- "#FECB52"
3844
- ],
3845
- "font": {
3846
- "color": "#2a3f5f"
3847
- },
3848
- "geo": {
3849
- "bgcolor": "white",
3850
- "lakecolor": "white",
3851
- "landcolor": "#E5ECF6",
3852
- "showlakes": true,
3853
- "showland": true,
3854
- "subunitcolor": "white"
3855
- },
3856
- "hoverlabel": {
3857
- "align": "left"
3858
- },
3859
- "hovermode": "closest",
3860
- "mapbox": {
3861
- "style": "light"
3862
- },
3863
- "paper_bgcolor": "white",
3864
- "plot_bgcolor": "#E5ECF6",
3865
- "polar": {
3866
- "angularaxis": {
3867
- "gridcolor": "white",
3868
- "linecolor": "white",
3869
- "ticks": ""
3870
- },
3871
- "bgcolor": "#E5ECF6",
3872
- "radialaxis": {
3873
- "gridcolor": "white",
3874
- "linecolor": "white",
3875
- "ticks": ""
3876
- }
3877
- },
3878
- "scene": {
3879
- "xaxis": {
3880
- "backgroundcolor": "#E5ECF6",
3881
- "gridcolor": "white",
3882
- "gridwidth": 2,
3883
- "linecolor": "white",
3884
- "showbackground": true,
3885
- "ticks": "",
3886
- "zerolinecolor": "white"
3887
- },
3888
- "yaxis": {
3889
- "backgroundcolor": "#E5ECF6",
3890
- "gridcolor": "white",
3891
- "gridwidth": 2,
3892
- "linecolor": "white",
3893
- "showbackground": true,
3894
- "ticks": "",
3895
- "zerolinecolor": "white"
3896
- },
3897
- "zaxis": {
3898
- "backgroundcolor": "#E5ECF6",
3899
- "gridcolor": "white",
3900
- "gridwidth": 2,
3901
- "linecolor": "white",
3902
- "showbackground": true,
3903
- "ticks": "",
3904
- "zerolinecolor": "white"
3905
- }
3906
- },
3907
- "shapedefaults": {
3908
- "line": {
3909
- "color": "#2a3f5f"
3910
- }
3911
- },
3912
- "ternary": {
3913
- "aaxis": {
3914
- "gridcolor": "white",
3915
- "linecolor": "white",
3916
- "ticks": ""
3917
- },
3918
- "baxis": {
3919
- "gridcolor": "white",
3920
- "linecolor": "white",
3921
- "ticks": ""
3922
- },
3923
- "bgcolor": "#E5ECF6",
3924
- "caxis": {
3925
- "gridcolor": "white",
3926
- "linecolor": "white",
3927
- "ticks": ""
3928
- }
3929
- },
3930
- "title": {
3931
- "x": 0.05
3932
- },
3933
- "xaxis": {
3934
- "automargin": true,
3935
- "gridcolor": "white",
3936
- "linecolor": "white",
3937
- "ticks": "",
3938
- "title": {
3939
- "standoff": 15
3940
- },
3941
- "zerolinecolor": "white",
3942
- "zerolinewidth": 2
3943
- },
3944
- "yaxis": {
3945
- "automargin": true,
3946
- "gridcolor": "white",
3947
- "linecolor": "white",
3948
- "ticks": "",
3949
- "title": {
3950
- "standoff": 15
3951
- },
3952
- "zerolinecolor": "white",
3953
- "zerolinewidth": 2
3954
- }
3955
- }
3956
- },
3957
- "title": {
3958
- "font": {
3959
- "size": 16
3960
- },
3961
- "text": "Cyclomatic Complexity Heatmap by Class<br><sub>Top 50 classes by complexity score</sub>"
3962
- },
3963
- "xaxis": {
3964
- "showgrid": false,
3965
- "side": "bottom",
3966
- "tickfont": {
3967
- "size": 12
3968
- },
3969
- "title": {
3970
- "text": "Complexity Metrics"
3971
- }
3972
- },
3973
- "yaxis": {
3974
- "autorange": "reversed",
3975
- "showgrid": false,
3976
- "tickfont": {
3977
- "size": 10
3978
- },
3979
- "title": {
3980
- "text": "Repository::Class"
3981
- }
3982
- }
3983
- }
3984
- }
3985
- },
3986
- "metadata": {},
3987
- "output_type": "display_data"
3988
- }
3989
- ],
3990
- "source": [
3991
- "import pandas as pd\n",
3992
- "import warnings\n",
3993
- "import plotly.graph_objects as go\n",
3994
- "import plotly.express as px\n",
3995
- "import code_data_science.data_table as dt\n",
3996
- "import numpy as np\n",
3997
- "\n",
3998
- "warnings.simplefilter(\"ignore\")\n",
3999
- "\n",
4000
- "df = dt.read_csv(\"../samples/cyclomatic_complexity.csv\")\n",
4001
- "\n",
4002
- "# Filter the data frame to only include rows where repositoryPath contains\n",
4003
- "# a term in the repository_filter (case insensitive)\n",
4004
- "if len(repository_filter) > 0:\n",
4005
- " df = df[\n",
4006
- " df[\"repositoryPath\"].str.contains(\"|\".join(repository_filter), case=False)\n",
4007
- " ]\n",
4008
- "\n",
4009
- "# Exit early if there are no records and render a plot with a message\n",
4010
- "if len(df) == 0:\n",
4011
- " fig = go.Figure()\n",
4012
- " fig.add_annotation(\n",
4013
- " text=\"No data available for the selected repositories\",\n",
4014
- " xref=\"paper\",\n",
4015
- " yref=\"paper\",\n",
4016
- " x=0.5,\n",
4017
- " y=0.5,\n",
4018
- " showarrow=False,\n",
4019
- " font=dict(size=14)\n",
4020
- " )\n",
4021
- " fig.update_layout(\n",
4022
- " xaxis=dict(visible=False),\n",
4023
- " yaxis=dict(visible=False),\n",
4024
- " margin=dict(l=0, r=0, t=60, b=60),\n",
4025
- " title=\"Cyclomatic Complexity Heatmap\"\n",
4026
- " )\n",
4027
- " fig.show(render=\"plotly_mimetype\")\n",
4028
- "else:\n",
4029
- " # Aggregate complexity metrics by repository and class\n",
4030
- " class_metrics = df.groupby(['repositoryPath', 'className']).agg({\n",
4031
- " 'complexity': ['sum', 'mean', 'max', 'count']\n",
4032
- " }).reset_index()\n",
4033
- " \n",
4034
- " # Flatten column names\n",
4035
- " class_metrics.columns = ['repository', 'className', 'total_complexity', 'avg_complexity', 'max_complexity', 'method_count']\n",
4036
- " \n",
4037
- " # Get short class names for display\n",
4038
- " class_metrics['classShortName'] = class_metrics['className'].str.split('.').str[-1]\n",
4039
- " \n",
4040
- " # Create a score that balances total and average complexity\n",
4041
- " class_metrics['complexity_score'] = class_metrics['total_complexity'] * 0.6 + class_metrics['avg_complexity'] * 0.4\n",
4042
- " \n",
4043
- " # Get top N classes by complexity score\n",
4044
- " top_classes = class_metrics.nlargest(min(top_n_classes, len(class_metrics)), 'complexity_score')\n",
4045
- " \n",
4046
- " # Create pivot table for heatmap\n",
4047
- " # We'll show different metrics as columns\n",
4048
- " metrics_data = []\n",
4049
- " for _, row in top_classes.iterrows():\n",
4050
- " metrics_data.append({\n",
4051
- " 'class': f\"{row['repository'].split('/')[-1]}::{row['classShortName']}\",\n",
4052
- " 'metric': 'Total Complexity',\n",
4053
- " 'value': row['total_complexity']\n",
4054
- " })\n",
4055
- " metrics_data.append({\n",
4056
- " 'class': f\"{row['repository'].split('/')[-1]}::{row['classShortName']}\",\n",
4057
- " 'metric': 'Avg Complexity',\n",
4058
- " 'value': row['avg_complexity']\n",
4059
- " })\n",
4060
- " metrics_data.append({\n",
4061
- " 'class': f\"{row['repository'].split('/')[-1]}::{row['classShortName']}\",\n",
4062
- " 'metric': 'Max Complexity',\n",
4063
- " 'value': row['max_complexity']\n",
4064
- " })\n",
4065
- " metrics_data.append({\n",
4066
- " 'class': f\"{row['repository'].split('/')[-1]}::{row['classShortName']}\",\n",
4067
- " 'metric': 'Method Count',\n",
4068
- " 'value': row['method_count']\n",
4069
- " })\n",
4070
- " \n",
4071
- " metrics_df = pd.DataFrame(metrics_data)\n",
4072
- " pivot_table = metrics_df.pivot(index='class', columns='metric', values='value')\n",
4073
- " \n",
4074
- " # Reorder columns\n",
4075
- " pivot_table = pivot_table[['Method Count', 'Avg Complexity', 'Max Complexity', 'Total Complexity']]\n",
4076
- " \n",
4077
- " # Normalize values for each metric (0-1 scale) for better color representation\n",
4078
- " normalized_data = pivot_table.copy()\n",
4079
- " for col in normalized_data.columns:\n",
4080
- " col_min = normalized_data[col].min()\n",
4081
- " col_max = normalized_data[col].max()\n",
4082
- " if col_max > col_min:\n",
4083
- " normalized_data[col] = (normalized_data[col] - col_min) / (col_max - col_min)\n",
4084
- " \n",
4085
- " # Create custom hover text\n",
4086
- " hover_text = []\n",
4087
- " for i in range(len(pivot_table)):\n",
4088
- " hover_row = []\n",
4089
- " for j, col in enumerate(pivot_table.columns):\n",
4090
- " value = pivot_table.iloc[i, j]\n",
4091
- " if col == 'Avg Complexity':\n",
4092
- " hover_row.append(f\"{col}: {value:.1f}\")\n",
4093
- " else:\n",
4094
- " hover_row.append(f\"{col}: {int(value)}\")\n",
4095
- " hover_text.append(hover_row)\n",
4096
- " \n",
4097
- " # Create the heatmap\n",
4098
- " fig = go.Figure(data=go.Heatmap(\n",
4099
- " z=normalized_data.values,\n",
4100
- " x=normalized_data.columns,\n",
4101
- " y=normalized_data.index,\n",
4102
- " colorscale=[\n",
4103
- " [0, '#E8F5E9'],\n",
4104
- " [0.2, '#A5D6A7'],\n",
4105
- " [0.4, '#FFE082'],\n",
4106
- " [0.6, '#FFB74D'],\n",
4107
- " [0.8, '#FF8A65'],\n",
4108
- " [1, '#EF5350']\n",
4109
- " ],\n",
4110
- " colorbar=dict(\n",
4111
- " title=\"Normalized<br>Complexity\",\n",
4112
- " thickness=15,\n",
4113
- " len=0.7\n",
4114
- " ),\n",
4115
- " text=hover_text,\n",
4116
- " texttemplate=\"\",\n",
4117
- " hovertemplate=(\n",
4118
- " '<b>%{y}</b><br>' +\n",
4119
- " '%{text}' +\n",
4120
- " '<extra></extra>'\n",
4121
- " )\n",
4122
- " ))\n",
4123
- " \n",
4124
- " # Add text annotations for actual values\n",
4125
- " annotations = []\n",
4126
- " for i in range(len(pivot_table)):\n",
4127
- " for j, col in enumerate(pivot_table.columns):\n",
4128
- " value = pivot_table.iloc[i, j]\n",
4129
- " if col == 'Avg Complexity':\n",
4130
- " text = f\"{value:.1f}\"\n",
4131
- " else:\n",
4132
- " text = str(int(value))\n",
4133
- " \n",
4134
- " annotations.append(\n",
4135
- " go.layout.Annotation(\n",
4136
- " text=text,\n",
4137
- " x=j,\n",
4138
- " y=i,\n",
4139
- " xref=\"x\",\n",
4140
- " yref=\"y\",\n",
4141
- " showarrow=False,\n",
4142
- " font=dict(\n",
4143
- " size=10,\n",
4144
- " color=\"black\" if normalized_data.iloc[i, j] < 0.6 else \"white\"\n",
4145
- " )\n",
4146
- " )\n",
4147
- " )\n",
4148
- " \n",
4149
- " # Update layout\n",
4150
- " fig.update_layout(\n",
4151
- " title=dict(\n",
4152
- " text=f\"Cyclomatic Complexity Heatmap by Class<br><sub>Top {len(pivot_table)} classes by complexity score</sub>\",\n",
4153
- " font=dict(size=16)\n",
4154
- " ),\n",
4155
- " xaxis=dict(\n",
4156
- " title=\"Complexity Metrics\",\n",
4157
- " tickfont=dict(size=12),\n",
4158
- " showgrid=False,\n",
4159
- " side=\"bottom\"\n",
4160
- " ),\n",
4161
- " yaxis=dict(\n",
4162
- " title=\"Repository::Class\",\n",
4163
- " tickfont=dict(size=10),\n",
4164
- " showgrid=False,\n",
4165
- " autorange=\"reversed\" # Put highest complexity at top\n",
4166
- " ),\n",
4167
- " annotations=annotations,\n",
4168
- " margin=dict(l=250, r=50, t=100, b=80),\n",
4169
- " height=max(600, len(pivot_table) * 25 + 200),\n",
4170
- " plot_bgcolor='white'\n",
4171
- " )\n",
4172
- " \n",
4173
- " # Show the figure\n",
4174
- " fig.show(render=\"plotly_mimetype\")"
4175
- ]
21
+ "outputs": [],
22
+ "source": "import pandas as pd\nimport warnings\nimport plotly.graph_objects as go\nimport plotly.express as px\nimport code_data_science.data_table as dt\nimport numpy as np\n\nwarnings.simplefilter(\"ignore\")\n\ndf = dt.read_csv(\"../samples/cyclomatic_complexity.csv\")\n\n# Filter the data frame to only include rows where repositoryPath contains\n# a term in the repository_filter (case insensitive)\nif len(repository_filter) > 0:\n df = df[\n df[\"repositoryPath\"].str.contains(\"|\".join(repository_filter), case=False)\n ]\n\n# Exit early if there are no records and render a plot with a message\nif len(df) == 0:\n fig = go.Figure()\n fig.add_annotation(\n text=\"No data available for the selected repositories\",\n xref=\"paper\",\n yref=\"paper\",\n x=0.5,\n y=0.5,\n showarrow=False,\n font=dict(size=14)\n )\n fig.update_layout(\n xaxis=dict(visible=False),\n yaxis=dict(visible=False),\n margin=dict(l=0, r=0, t=60, b=60),\n title=\"Cyclomatic Complexity Heatmap\"\n )\n fig.show(render=\"plotly_mimetype\")\nelse:\n # Aggregate complexity metrics by repository and class\n class_metrics = df.groupby(['repositoryPath', 'className']).agg({\n 'complexity': ['sum', 'mean', 'max', 'count']\n }).reset_index()\n \n # Flatten column names\n class_metrics.columns = ['repository', 'className', 'total_complexity', 'avg_complexity', 'max_complexity', 'method_count']\n \n # Get short class names for display\n class_metrics['classShortName'] = class_metrics['className'].str.split('.').str[-1]\n \n # Get top N classes by total complexity\n top_classes = class_metrics.nlargest(min(top_n_classes, len(class_metrics)), 'total_complexity')\n \n # Create pivot table for heatmap\n # We'll show different metrics as columns\n metrics_data = []\n for _, row in top_classes.iterrows():\n metrics_data.append({\n 'class': f\"{row['repository'].split('/')[-1]}::{row['classShortName']}\",\n 'metric': 'Total Complexity',\n 'value': row['total_complexity']\n })\n metrics_data.append({\n 'class': f\"{row['repository'].split('/')[-1]}::{row['classShortName']}\",\n 'metric': 'Avg Complexity',\n 'value': row['avg_complexity']\n })\n metrics_data.append({\n 'class': f\"{row['repository'].split('/')[-1]}::{row['classShortName']}\",\n 'metric': 'Max Complexity',\n 'value': row['max_complexity']\n })\n metrics_data.append({\n 'class': f\"{row['repository'].split('/')[-1]}::{row['classShortName']}\",\n 'metric': 'Method Count',\n 'value': row['method_count']\n })\n \n metrics_df = pd.DataFrame(metrics_data)\n pivot_table = metrics_df.pivot(index='class', columns='metric', values='value')\n \n # Reorder columns\n pivot_table = pivot_table[['Method Count', 'Avg Complexity', 'Max Complexity', 'Total Complexity']]\n \n # Sort by total complexity to maintain order\n pivot_table = pivot_table.sort_values('Total Complexity', ascending=False)\n \n # Normalize values for each metric (0-1 scale) for better color representation\n normalized_data = pivot_table.copy()\n for col in normalized_data.columns:\n col_min = normalized_data[col].min()\n col_max = normalized_data[col].max()\n if col_max > col_min:\n normalized_data[col] = (normalized_data[col] - col_min) / (col_max - col_min)\n \n # Create custom hover text\n hover_text = []\n for i in range(len(pivot_table)):\n hover_row = []\n for j, col in enumerate(pivot_table.columns):\n value = pivot_table.iloc[i, j]\n if col == 'Avg Complexity':\n hover_row.append(f\"{col}: {value:.1f}\")\n else:\n hover_row.append(f\"{col}: {int(value)}\")\n hover_text.append(hover_row)\n \n # Create the heatmap\n fig = go.Figure(data=go.Heatmap(\n z=normalized_data.values,\n x=normalized_data.columns,\n y=normalized_data.index,\n colorscale=[\n [0, '#E8F5E9'],\n [0.2, '#A5D6A7'],\n [0.4, '#FFE082'],\n [0.6, '#FFB74D'],\n [0.8, '#FF8A65'],\n [1, '#EF5350']\n ],\n colorbar=dict(\n title=\"Normalized<br>Complexity\",\n thickness=15,\n len=0.7\n ),\n text=hover_text,\n texttemplate=\"\",\n hovertemplate=(\n '<b>%{y}</b><br>' +\n '%{text}' +\n '<extra></extra>'\n )\n ))\n \n # Add text annotations for actual values\n annotations = []\n for i in range(len(pivot_table)):\n for j, col in enumerate(pivot_table.columns):\n value = pivot_table.iloc[i, j]\n if col == 'Avg Complexity':\n text = f\"{value:.1f}\"\n else:\n text = str(int(value))\n \n annotations.append(\n go.layout.Annotation(\n text=text,\n x=j,\n y=i,\n xref=\"x\",\n yref=\"y\",\n showarrow=False,\n font=dict(\n size=10,\n color=\"black\" if normalized_data.iloc[i, j] < 0.6 else \"white\"\n )\n )\n )\n \n # Update layout\n fig.update_layout(\n title=dict(\n text=f\"Cyclomatic Complexity Heatmap by Class<br><sub>Top {len(pivot_table)} classes by total complexity</sub>\",\n font=dict(size=16)\n ),\n xaxis=dict(\n title=\"Complexity Metrics\",\n tickfont=dict(size=12),\n showgrid=False,\n side=\"bottom\"\n ),\n yaxis=dict(\n title=\"Repository::Class\",\n tickfont=dict(size=10),\n showgrid=False,\n autorange=\"reversed\" # Put highest complexity at top\n ),\n annotations=annotations,\n margin=dict(l=250, r=50, t=100, b=80),\n height=max(600, len(pivot_table) * 25 + 200),\n plot_bgcolor='white'\n )\n \n # Show the figure\n fig.show(render=\"plotly_mimetype\")"
4176
23
  }
4177
24
  ],
4178
25
  "metadata": {
@@ -4196,4 +43,4 @@
4196
43
  },
4197
44
  "nbformat": 4,
4198
45
  "nbformat_minor": 4
4199
- }
46
+ }