Newer
Older
{
"cells": [
{
"cell_type": "markdown",
"id": "6a764d92",
"metadata": {},
"source": [
"Often it is very hard either to find similarities within data or even to classify data as belonging to different labels when the data contains so many features. One particular example are images which may contain millions of pixels. Even low-dimensional data may not be easy to visualize in a 2D plane, so bringing the dominant effects in a 2D plane for visualization is in itself a very helpful starting point.\n",
"There are different methods to obtain another view of the data, by performing linear or even non-linear combinations of the data features. The price being paid by such methods is that the new representation of the data may not be that straightforward to digest, loosing therefore some of its scientific interpretation. On the other hand, if one understands the assumptions made in such methods, one can easily imagine the mathematical process required to transform to and from this new view and gain insight from the new view without loosing track of the scientific background.\n",
"\n",
"We are going to go through a few methods of obtaining an alternative view of the data here and what their assumptions might be."
]
},
{
"cell_type": "markdown",
"id": "fce4d8e8",
"metadata": {},
"source": [
"We start by loading the necessary Python modules. If you have not yet installed them, run the following cell to install them with pip:"
]
},
{
"cell_type": "code",
Danilo Ferreira de Lima
committed
"execution_count": 1,
"id": "44ca341e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: numpy in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (1.19.2)\r\n",
"Requirement already satisfied: scikit-learn in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (0.24.2)\r\n",
"Requirement already satisfied: pandas in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (1.1.5)\r\n",
"Requirement already satisfied: matplotlib in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (3.3.4)\r\n",
"Requirement already satisfied: scipy>=0.19.1 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from scikit-learn) (1.5.2)\r\n",
"Requirement already satisfied: joblib>=0.11 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from scikit-learn) (1.0.1)\r\n",
"Requirement already satisfied: threadpoolctl>=2.0.0 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from scikit-learn) (2.2.0)\r\n",
"Requirement already satisfied: python-dateutil>=2.7.3 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from pandas) (2.8.2)\r\n",
"Requirement already satisfied: pytz>=2017.2 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from pandas) (2021.3)\r\n",
"Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from matplotlib) (3.0.4)\r\n",
"Requirement already satisfied: cycler>=0.10 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from matplotlib) (0.11.0)\r\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from matplotlib) (1.3.1)\r\n",
"Requirement already satisfied: pillow>=6.2.0 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from matplotlib) (8.3.1)\r\n",
"Requirement already satisfied: six>=1.5 in /home/daniloefl/miniconda3/envs/ml2/lib/python3.6/site-packages (from python-dateutil>=2.7.3->pandas) (1.16.0)\r\n"
]
}
],
"source": [
"!pip install numpy scikit-learn pandas matplotlib"
]
},
{
"cell_type": "code",
Danilo Ferreira de Lima
committed
"execution_count": 2,
"id": "300cf8d3",
"metadata": {},
"outputs": [],
"source": [
Danilo Ferreira de Lima
committed
"%matplotlib notebook\n",
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"from sklearn.decomposition import PCA"
]
},
{
"cell_type": "markdown",
"id": "0ecd6a69",
"metadata": {},
"source": [
"Let's generate the fake data now to have something to cluster."
]
},
{
"cell_type": "code",
Danilo Ferreira de Lima
committed
"execution_count": 3,
"id": "4959a292",
"metadata": {},
"outputs": [],
"source": [
"rng = np.random.RandomState(0)\n",
"n_samples = 500\n",
"cov = [[3, 3], [3, 4]]\n",
"data = rng.multivariate_normal(mean=[0, 0], cov=cov, size=n_samples)\n",
"data = pd.DataFrame(data, columns=[\"x1\", \"x2\"])"
]
},
{
"cell_type": "markdown",
"id": "d8295e8a",
"metadata": {},
"source": [
"Let's print out the dataset read first."
]
},
{
"cell_type": "code",
Danilo Ferreira de Lima
committed
"execution_count": 4,
"id": "024fb65a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>x1</th>\n",
" <th>x2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>-3.123062</td>\n",
" <td>-3.267402</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>-2.775958</td>\n",
" <td>-0.929101</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-2.582416</td>\n",
" <td>-4.072345</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>-1.492453</td>\n",
" <td>-1.920361</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>-0.041529</td>\n",
" <td>0.381166</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>495</th>\n",
" <td>-0.821492</td>\n",
" <td>-0.782416</td>\n",
" </tr>\n",
" <tr>\n",
" <th>496</th>\n",
" <td>1.197165</td>\n",
" <td>1.665481</td>\n",
" </tr>\n",
" <tr>\n",
" <th>497</th>\n",
" <td>-0.691309</td>\n",
" <td>-0.383494</td>\n",
" </tr>\n",
" <tr>\n",
" <th>498</th>\n",
" <td>0.279317</td>\n",
" <td>0.428408</td>\n",
" </tr>\n",
" <tr>\n",
" <th>499</th>\n",
" <td>2.082251</td>\n",
" <td>2.082815</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" x1 x2\n",
"0 -3.123062 -3.267402\n",
"1 -2.775958 -0.929101\n",
"2 -2.582416 -4.072345\n",
"3 -1.492453 -1.920361\n",
"4 -0.041529 0.381166\n",
".. ... ...\n",
"495 -0.821492 -0.782416\n",
"496 1.197165 1.665481\n",
"497 -0.691309 -0.383494\n",
"498 0.279317 0.428408\n",
"499 2.082251 2.082815\n",
Danilo Ferreira de Lima
committed
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data"
]
},
{
"cell_type": "markdown",
"id": "1c178424",
"metadata": {},
"source": [
"We can plot this fairly easily using Matplotlib."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e63b38c5",
"metadata": {},
"outputs": [
{
"data": {
Danilo Ferreira de Lima
committed
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute('style', 'box-sizing: content-box;');\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'width: ' + width + 'px; height: ' + height + 'px;'\n",
" );\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
"\n",
" rubberband_canvas.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband_canvas.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch (cursor) {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = 'image/png';\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function (e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e) {\n",
" e = window.event;\n",
" }\n",
" if (e.target) {\n",
" targ = e.target;\n",
" } else if (e.srcElement) {\n",
" targ = e.srcElement;\n",
" }\n",
" if (targ.nodeType === 3) {\n",
" // defeat Safari bug\n",
" targ = targ.parentNode;\n",
" }\n",
"\n",
" // pageX,Y are the mouse positions relative to the document\n",
" var boundingRect = targ.getBoundingClientRect();\n",
" var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
" var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
"\n",
" return { x: x, y: y };\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" var canvas_pos = mpl.findpos(event);\n",
"\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * this.ratio;\n",
" var y = canvas_pos.y * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.which === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.which;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which !== 17) {\n",
" value += 'ctrl+';\n",
" }\n",
" if (event.altKey && event.which !== 18) {\n",
" value += 'alt+';\n",
" }\n",
" if (event.shiftKey && event.which !== 16) {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data']);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager) {\n",
" manager = IPython.keyboard_manager;\n",
" }\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
Danilo Ferreira de Lima
committed
"<IPython.core.display.Javascript object>"
Danilo Ferreira de Lima
committed
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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\" width=\"800\">"
Danilo Ferreira de Lima
committed
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
Danilo Ferreira de Lima
committed
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(8, 8))\n",
"data.plot.scatter(x=\"x1\", y=\"x2\", alpha=0.3, ax=ax)\n",
"ax.set(xlabel=\"$x_1$\", ylabel=r\"$x_2$\", title=\"\")\n",
"plt.show()"
]
},
"id": "bba01cd6",
"metadata": {},
"source": [
"Clearly there is a strong correlation in this data. One could almost predict $y$ using $x$ alone by fitting a line in the $xy$-plane. Therefore, it may be easier to provide a representation on which only one variable is present but retaining the maximum information possible. This is possible using several methods, which rely on several underlying assumptions. Let us start with Principal Component Analysis.\n",
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
"\n",
"In Principal Component Analysis, we set ourselves the objective of maximizing the variance of the data in our new representation. That is, imagine our new representation is given by $p_1$ and $p_2$ and we define them such that $p$ is a linear combination of $x$. The criteria used to find how to make such a linear combination shall be that the variance of $p_1$ is maximal, when we want to find out how to combine $x_1$ and $x_2$ to obtain $p_1$. This can be similarly done for $p_2$ and any other component. Instead of finding $p$ directly for each sample, we will find the direction $u_1$ on which we should project $x$ using $u_1^T x$ to obtain the new space. As we are only interested in the direction of $u_1$, we define it as normalized vector, so $u_1^T u_1 = 1$.\n",
"\n",
"The mean data value is $\\overline{x} = \\frac{1}{N} \\sum_k x^{(k)}$, where $x^{(k)}$ refers to the vector $(x_1, x_2)$ for the $k$-th sample point. The mean of the projected data in this new dimension $u_1$ is $u_1^T \\overline{x}$. The variance of the projected data in the direction $u_1$ is:\n",
"\n",
"$\\frac{1}{N}\\sum_k\\left(u_1^T x^{(k)} - u_1^T \\overline{x}\\right) = u_1^T S u_1$,\n",
"\n",
"where $S = \\frac{1}{N}\\left(x^{(k)} - \\overline{x}\\right)\\left(x^{x(k)} - \\overline{x}\\right)^T$ is the covariance matrix of the data.\n",
"\n",
"We maximize the variance of the data projected in the direction $u_1$, while imposing a restriction on the maximization procedure, such that $u_1$ is normalized to 1. This can be done by maximizing the following function:\n",
"\n",
"$u_1^T S u_1 + \\lambda_1 (1 - u_1^T u_1)$,\n",
"\n",
"where $\\lambda_1$ is a Lagrange multiplier used to enforce the condition that $u_1^T u_1$ is 1.\n",
"\n",
"Calculating the derivative relative to $u_1$ and setting it to zero to find the maximum we see that:\n",
"\n",
"$S u_1 = \\lambda_1 u_1$,\n",
"\n",
"which is an eigenvalue problem! That is, the direction $u_1$, which maximizes the variance of the projected data is the eigenvector of the covariance matrix $S$. Moreover, if we multiply this equation by $u_1^T$ on the left and use $u_1^T u_1 = 1$, we obtain $\\lambda_1 = u_1^T S u_1$. That is, $\\lambda_1$ is the variance of the data projected in the direction $u_1$.\n",
"\n",
"This gives a simple recipe to find the directions with largest variance: we find the eigenvectors of the covariance matrix $S$ which have highest eigenvalues. By sorting the eigenvalues, we can easily choose which of the directions of the new representations are more important to analyse. We can also discard directions that have low eigenvalues, as they contribute little to the variations observed in the data.\n",
"\n",
"Naturally, we do not need to write the code to perform all those steps, as scikit-learn implements them for us:"
{
"cell_type": "code",
"execution_count": 6,
"id": "0837b3ff",
"metadata": {},
"outputs": [],
"source": [
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "8798f857",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pca.fit(data.loc[:, [\"x1\", \"x2\"]])"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "cc8fc1f1",
"metadata": {},
"outputs": [],
"source": [
"data_t = pca.transform(data.loc[:, [\"x1\", \"x2\"]])"
]
},
{
"cell_type": "code",
Danilo Ferreira de Lima
committed
"execution_count": 9,
"id": "88982b21",
"metadata": {},
"outputs": [],
"source": [
"data.loc[:, \"pca1\"] = data_t[:, 0]\n",
"data.loc[:, \"pca2\"] = data_t[:, 1]"
]
},
{
"cell_type": "markdown",
"id": "3ac27316",
"metadata": {},
"source": [
"We can start by plotting how the data looks like after this transformation."
]
},
{
"cell_type": "code",
Danilo Ferreira de Lima
committed
"execution_count": 10,
"id": "333581b5",
"metadata": {},
"outputs": [
{
"data": {
Danilo Ferreira de Lima
committed
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute('style', 'box-sizing: content-box;');\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'width: ' + width + 'px; height: ' + height + 'px;'\n",
" );\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
"\n",
" rubberband_canvas.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband_canvas.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch (cursor) {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = 'image/png';\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function (e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e) {\n",
" e = window.event;\n",
" }\n",
" if (e.target) {\n",
" targ = e.target;\n",
" } else if (e.srcElement) {\n",
" targ = e.srcElement;\n",
" }\n",
" if (targ.nodeType === 3) {\n",
" // defeat Safari bug\n",
" targ = targ.parentNode;\n",
" }\n",
"\n",
" // pageX,Y are the mouse positions relative to the document\n",
" var boundingRect = targ.getBoundingClientRect();\n",
" var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
" var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
"\n",
" return { x: x, y: y };\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" var canvas_pos = mpl.findpos(event);\n",
"\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * this.ratio;\n",
" var y = canvas_pos.y * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.which === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.which;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which !== 17) {\n",
" value += 'ctrl+';\n",
" }\n",
" if (event.altKey && event.which !== 18) {\n",
" value += 'alt+';\n",
" }\n",
" if (event.shiftKey && event.which !== 16) {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data']);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
Danilo Ferreira de Lima
committed
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager) {\n",
" manager = IPython.keyboard_manager;\n",
" }\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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QAACEIAABCAAAQhAAAIQsEoAgW4VJ8YgAAEIQAACEIAABCAAAQhAAALJCCDQk3HjLghAAAIQgAAEIAABCEAAAhCAgFUCCHSrODEGAQhAAAIQgAAEIAABCEAAAhBIRgCBnowbd0EAAhCAAAQgAAEIQAACEIAABKwSQKBbxYmxOATuu+8+Oe+88+Tll1+WYcOGyec//3n5zW9+E8dErteaE0xnz54tL730krzwwguy55575urPQIUvXLhQzj//fHn44Ydl+fLl0tTUJEcddZScffbZUltbO9Dtmf/7z372M7n00ktl2bJlsuuuu8qVV14p++67b+Z+RC3QfKHAtN/XX39dhg4dKp/73OfkkksukZ133jmqCTXXmbqcddZZcsopp4Tctf/ef/99OeOMM+T++++X1tZW2WmnneSGG26QmTNnancd/5QS8C2/u8Lo27jhioNv45ErDsZukcY6F5x8Gz9dMMBmegII9PQMsZCAwF133SUnnniiXHTRRfKFL3xBuru75ZVXXpHDDz88gbV8bjHiZcGCBaEo8EGgP/DAA3LHHXfIN7/5TZk2bZq8+uqrYQyOPvpoueyyy/KBWKZU46fxyzwUzZkzR6699lq5/vrr5U9/+pNMnjxZla8lZ774xS/KEUccIZ/61Keks7MznPgwbdr4bCagfPnNnz9fvvGNb0hDQ4MccMAB6gX6mjVrZK+99gp9/c53viONjY3y9ttvy9SpU2XHHXf0BTt+KiPgW353hc+nccMVAx/HI1csjN2ijHUuGPk2frpggE07BBDodjhiJQYBI17Mw/O5554rxx9/fIw79VxqRPnpp58uZqLBrO76IND7omdWqK+55hp555139MANPDE7E/bee+/Qt9Jvl112kUMPPTScvffh98EHH4Ri8fe//324O8SHX0tLS8jdTIxccMEF4a4Q7SvoP/rRj+SJJ56Qxx9/3AfE+OgBgaLkd1eotY4brupbhPHIFRtj18exzgUPH8dPFxywaYcAAt0OR6zEIPDMM8+EAuzGG2+Uq666KtxubYSAWcU1Ylf7b8WKFeHW2bvvvlvGjh0r22+/vbcC/ZxzzhGzQvLss8+qwd7e3i719fXy61//Wg477LAev8yK1osvvhgKXh9+b731lkyfPj1cRd9tt918cFm+/e1vy5gxY+SnP/2p7L///l4I9E984hNy0EEHyZIl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\" width=\"1000\">"
Danilo Ferreira de Lima
committed
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(10, 10), ncols=2)\n",
"data.plot.scatter(x=\"pca1\", y=\"pca2\", alpha=0.3, ax=ax[0])\n",
"data.plot.scatter(x=\"x1\", y=\"x2\", alpha=0.3, ax=ax[1])\n",
"ax[0].set(xlabel=\"PCA component 1\", ylabel=r\"PCA component 2\", title=\"PCA representation\")\n",
"ax[1].set(xlabel=\"$x_1$\", ylabel=r\"$x_2$\", title=\"Original data\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "54e538c6",
"metadata": {},
"source": [
"It is interesting to understand how many PCA components are necessary to explain the variance of the data. This is easily obtainable from the PCA object."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "fa5ebbce",
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_dpi_ratio', { dpi_ratio: fig.ratio });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute('style', 'box-sizing: content-box;');\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box; position: absolute; left: 0; top: 0; z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'width: ' + width + 'px; height: ' + height + 'px;'\n",
" );\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
"\n",
" rubberband_canvas.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband_canvas.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" rubberband_canvas.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" this.rubberband_canvas.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch (cursor) {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = 'image/png';\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function (e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e) {\n",
" e = window.event;\n",
" }\n",
" if (e.target) {\n",
" targ = e.target;\n",
" } else if (e.srcElement) {\n",
" targ = e.srcElement;\n",
" }\n",
" if (targ.nodeType === 3) {\n",
" // defeat Safari bug\n",
" targ = targ.parentNode;\n",
" }\n",
"\n",
" // pageX,Y are the mouse positions relative to the document\n",
" var boundingRect = targ.getBoundingClientRect();\n",
" var x = e.pageX - (boundingRect.left + document.body.scrollLeft);\n",
" var y = e.pageY - (boundingRect.top + document.body.scrollTop);\n",
"\n",
" return { x: x, y: y };\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" var canvas_pos = mpl.findpos(event);\n",
"\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * this.ratio;\n",
" var y = canvas_pos.y * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.which === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.which;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which !== 17) {\n",
" value += 'ctrl+';\n",
" }\n",
" if (event.altKey && event.which !== 18) {\n",
" value += 'alt+';\n",
" }\n",
" if (event.shiftKey && event.which !== 16) {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data']);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager) {\n",
" manager = IPython.keyboard_manager;\n",
" }\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAPoCAYAAABNo9TkAAAgAElEQVR4XuzdCbReZXk37icEZBIFZCiRFEQQBCcUUcGJ4sBgRRARxTJ0SS01IliqbR0Qa60gCIgK1GpEEREQ1FoLiohgHaBMyuAE4oAsUBG1ChZCvj7bdfIlGLJPIHf2/ez3etfqav+859z73tdv7++/fucdMmP+/z2KBwECBAgQIECAAAECBAgQIDCowAwFfVB/BydAgAABAgQIECBAgAABAp2Agu5CIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQIECAAAECBAgQIJBAQEFPEIIVCBAgQIAAAQIECBAgQICAgu4aIECAAAECBAgQIECAAAECCQQU9AQhWIEAAQIECBAgQIAAAQIECCjorgECBAgQaFrgwx/+cDnggAPu8xy+9KUvlWc/+9kh5zh17B/84Adl4403XqpjPJDfXaoD3ccPz5gxoxx++OHlrW9967IY94Bn3HjjjeURj3hEmTt3btl///0f8DwDCBAgQIBAiwIKeoup2ZkAAQIEFghMFd1a7LbYYos/ktlyyy3LQx7ykBCxB1Kyf/azn5Xrr7++bL311mXllVcO2W9JQ7MV9N///vfliiuuKI985CPLuuuuu9w9HJAAAQIECGQQUNAzpGAHAgQIELjfAlMl+dJLLy3bbLPN/Z5zf37xgRT0+3O8Zfk7WQr6vHnzyt133z3IHymWpadZBAgQIEBgWQgo6MtC0QwCBAgQGExgugX99NNPLy972cvKCSecUObMmbNg3/o277e//e3l3HPPLc997nPL1FutjzzyyHLXXXeVk08+udx6663lMY95TKn/bccdd1zwu4sr6F/4whfKe9/73nLZZZeVn//852XDDTfsfuef//mfyzrrrLPE361vxa+/U98N8LrXva6b8Sd/8iflr/7qr8rrX//6ssIKKyz4/V//+tflbW97W/nkJz9Zbrrppu5V55e85CXdcVZfffVFfu5v//Zvy9lnn13qq9RPf/rTy3ve856y+eabL/Et7vUV/oc//OHlDW94Q/mnf/qnRfL99re/XR796EeX448/vhx88MGl/mx1vPDCC8uPfvSjstpqq3VeRxxxRHnGM56x4HcXtv3f//3f8sEPfrD8+Mc/Lp/97Ge7dz/c+y3u3//+97vz+cpXvtKd41prrVWe+MQnlne84x3lsY997IK59bg77LBDOe2008rVV1/d+f3P//xP2Xbbbcv73ve+7lwXftSs3/Wud5X//u//7jLeaKONyr777lv+4R/+YcGP1eeqbz327373u+586/N77bXXYNe6AxMgQIDA+AUU9PFn7AwJECAwaoGpkvz1r3+9POlJT1rkXOurxDNnzlzw3w466KDyoQ99qPzXf/1X92r7BRdc0JXyf/zHf1xQQqdK5OzZs7viduihh5Z77rmnHHXUUeXKK68sX/7yl8vTnva0bubiCvpJJ51Ubr/99rLVVluVhz70oV3hf/e7313uvPPO8q1vfaustNJK9/m7taDXgrn22muXWqrr273POeec8v73v7+ccsopXYmsj1oYt99++/KTn/yk2/1xj3tcueaaa8pb3vKWzuD8888v9dznz5/f/XHgq1/9avfck5/85O7cP/rRj5Ybbrih9zPoe+yxR1di6zks/MeBWtqPO+648tOf/rQ87GEPK9/5zne6sv6sZz2r+4NCLcd171qUv/jFLy74DoAp21r8H/WoR5VXv/rV3ccPNttss+687l3QL7roovKZz3ym865/gLjttts6h/POO697O/xU8Z4q6PV7AKrLy1/+8lL/gFH3rB8fuO666xZcB/WPAgceeGC3a/3Dx3rrrVe++93vdu61zNdH/d6CnXbaqTzlKU/p/phTc6x/4Kl5+4z8qP+fEydHgACBwQUU9MEjsAABAgQIPBCBJX1JXC3n9e3TU4/6CnIte7VA/8d//Ef3qmt95baWyKkiP1UiZ82a1X1GfJVVVul+/Te/+U33RXD1Fdz6Kvl9FfSFz6UW5PoW7lpka9n/9Kc/XV74whcusaDXPwB84xvf6F79nXrUsl//YFBf+a2Pd77zneWNb3xj93MLv62/vpq+5557ls997nNl55137n6+/u+pV7qn5tVXoOvv931J3L//+793+37+85/v/pBRH/V8/vRP/7RzPOussxYbXf2Zeu615NYCXl+9r48p2/qHh1qap/5YsfBzSyrAdW79Y0n1eMELXtD94aM+pgr6Lrvs0uU69TjzzDO7V7y/9rWvlac+9andHw7qHwfqHzRq+a9/xFjco75avuqqq5ZLLrmkrLjiigt+5M///M+7dzXUP4ws/AeLB3L9+l0CBAgQILCwgILueiBAgACBpgWmCvpHPvKR7m3Ii/z/5P6vgN37VfX6tun63+pbrGt5rK+Kb7DBBgt+bapE1ldO69vhF37Ubxf/+Mc/3r2CXQv94l5Br2+Hr69W16JYi3ktlFOPWqzrq7r1sbjfra+g11ejb7755kWOW9+aX/espbY+6tvU6x8Mallc+FFfpa/n9Hd/93fd2/Hrseor//Vt8/WV7qnH1Dn2FfT6x436h4Gpt4/X36/lf9ddd+3OrxbiqUd958C//uu/lmuvvbZ7K/3Uo/4BZGrvqePWdyVMlet777RwQa/Hr/ufeuqppeZW344+9ajl/z//8z+7/8+pgl53eNWrXrXgZ6plPX599fulL31p94eG5z//+d1b4avp4h71OPUV/aOPPrq89rWvXeRHPvCBD5S/+Zu/6c7x3tfaYof5jwQIECBAYCkFFPSlBPPjBAgQIJBLYLqfQV946/rqay2YSyqK9XPp9VXmhR9///d/3xXf+gp8fdvzvUt2LeP1FfZazN/85jd3n5Ounwev/72+grtwIb6vgl7LdH279cKP+oeBWkJrwa2PWiBrkbyvx1/+5V92n+9+5Stf2b0lfOFiW3+nFvn6CnFfQa8/Wz/7Xv9QUf9osOaaa3avSNfPZdfPjk+966CW7fqW/L/+67/uXtmun7Wvz1WDWs6n9p4q6LV01z8iLPxY3D+zVj/fXt92Xv/QUN+SXj+DXl+5rudVd6km9TFV0Osr5vUdBFOPe8/82Mc+Vl7xild0r54v/Nn4hfeoHwGofwBZ0mNJv5/r7rANAQIECLQmoKC3lph9CRAgQGARgaUt6P/2b//WfQa5voW8fo754osv7j5rfO9Sd39eQf/mN79ZHv/4x3fFfb/99lswc+pV2WVV0Ovby3/72992n6df3KMW5Pp2/Af6CnqdXQt2/afqTjzxxO5V6Ppug0MOOaR7m/3Uo/5Rov7Bon52e+FHLbr17eD3Luj1C9oOO+ywRX52cQW9fhZ/t9126z73vfCjfvHepptuutQFfTqvoE+96l6/EK5+Bn9xj/rZ9zXWWMOdSIAAAQIElrmAgr7MSQ0kQIAAgeUpsDQFvX5JWy3j9dvO69uVt9tuu+7t37Wo11dn66PvM+j13y2vX8JWH/d+FbzOr59vrm+D33vvvRcw1FeL61uml1VBr99sXj9HXl9pr1+sdl+PB/oZ9Km59dX/+pny+iV19Q8X9VvcF/5m9PqRgfolblOfka+/V/9YUa3qW+Tvb0Gvb8uvWdW3rk896jsf6qv09RX1pX0FvX4GvZb7+keU+rv39Rn0+gV29V0KC3+efXle045FgAABApMroKBPbvbOnAABAqMQmCrJ9VXW+nnjez/qF5LV8lhfca5fqFbfIl2//Ku+9bx+k3l99bd+9vtTn/rUIgV96lvc6z93Vt+iXt/aXot8LXb1m8IXV9DrW8nrZ5PrZ6f/5V/+pfs29vpFa/VL5eo3hS+rgl7Ppb5Fu/7zZvVt+vWPAnXH+k+c1VeJ69vN6x8i6n+rnx+vXyZXj13Pf2m+xX3Ksn62vH62u5bb+gVxdcbCjzq7/lNs9S3ttTjXV6HrP1FWjavF/S3o9V0In/jEJ7pX6+s51s/c11ff6zez11yXtqDXnafe+v9nf/Zn3Tsp1l9//e7jAldddVX3z+PVR30nQP1yvXou9eMF9Yvl6jfI13cTXH755aW+ld6DAAECBAhECCjoEapmEiBAgMByE1jSt7jXJeor5fUzy3/xF3/RfZv4pZde2r1le+pRv4m8vkp77LHHdm/dXvjf6q6f1a6/X7/4rX5zeC2Kz3ve8xb87uI+R15LXP1ysfrPvtVvAH/Oc55TjjnmmK7YLquCXheoJb3uU8viD37wg+4z5fUY9Xj1re21eNbHr371q+7fVK/nXr8Yr/5xoX6mvP4xYzqfQa8z6j9ZVv/5tDvuuGOB58IB17n18/r1nQO/+MUvOt/6RXn1n1pb+LPzU7bTfYt7/ax/fSt8/SNHffW7/jGl/uHjTW96U3f4+1PQ6+/VL5erf3Cp/4RcfWdA/ThA/WNA/bz91KO+A6C+U6Ee45e//GX3JXv1vOpn8Bf+IrrldqE7EAECBAhMhICCPhExO0kCBAgQmK7AkkrkdGf4OQIECBAgQIDA/RFQ0O+Pmt8hQIAAgdEKKOijjdaJESBAgACB9AIKevqILEiAAAECy1NAQV+e2o5FgAABAgQILCygoLseCBAgQIAAAQIECBAgQIBAAgEFPUEIViBAgAABAgQIECBAgAABAgq6a4AAAQIECBAgQIAAAQIECCQQUNAThGAFAgQIECBAgAABAgQIECCgoE/YNXDPPfeUn/70p2WNNdYoM2bMmLCzd7oECBAgQIAAAQIECEwJzJ8/v/zmN78ps2bNKiussAKYBAIKeoIQlucKP/nJT8rs2bOX5yEdiwABAgQIECBAgACBxAI//vGPy4Ybbph4w8lZTUGfnKy7M/3Vr35V1lxzzVJvwoc85CETdvZOlwABAgQIECBAgACBKYFf//rX3Yt3t99+e3noQx8KJoGAgp4ghOW5Qr0J681Xi7qCvjzlHYsAAQIECBAgQIBALgHdIFcedRsFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG7kJQ3kNJ0CAAAECBAgQINCMgG6QLyoFPV8moRu5CUN5DSdAgAABAgQIECDQjIBukC8qBT1fJqEbuQlDeQ0nQIAAAQIECBAg0IyAbpAvKgU9XyahG03dhLMPOaOssPJqoccaYviN79x1iMM6JgECBAgQIECAAIHmBBT0fJEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjd9TzM0AACAASURBVBT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWgL0Um+++/fznllFO631hxxRXL7Nmzyx577FGOOOKIsvrqqy+Y9MlPfrKccMIJ5Yorrijz5s0rm2yySdlzzz3LnDlzytprr73g5+64444ya9asMmPGjHLTTTeVVVdddYnbfOADHygf+chHytVXX9393JOe9KTyjne8o2y77bbTPgsFfdpUfpAAAQIECBAgQIDAqAUU9HzxKuhLkUkt6LfcckuZO3duueuuu8rFF19cXvnKV5b99tuvnHjiid2kN77xjeXII48shx56aNl99927Av69732vnHTSSeWZz3xmee1rX7vgiKeeemo5+eSTy/z588tBBx1U9tlnnyVuU5/ffvvty3bbbVdWWWWVctRRR5Wzzz67XHPNNeXhD3/4tM5EQZ8Wkx8iQIAAAQIECBAgMHoBBT1fxAr6UmRSC/rtt99ePvWpTy34rQMPPLB89rOfLTfffHO55JJLylOe8pRy3HHHLVLEp364/u6aa6654Hd32GGHsvfee3cF/YwzzigXXHDBUmxTulfn11prrfLe97637LvvvtP6XQV9Wkx+iAABAgQIECBAgMDoBRT0fBEr6EuRyeIK+sEHH1xOO+208vOf/7wr5R/60IfKbbfdVlZaaaUlTr7++uvLVltt1RX7WtDrK+3XXntt93b46T5+85vflPXWW6+ceeaZ5QUveMG0fk1BnxaTHyJAgAABAgQIECAwegEFPV/ECvpSZHLvgl5fMd9ll13KjjvuWD7xiU90/3f9LPlVV13VO7W+Fb4W8nPOOaf72Re96EXlMY95THn729/e+7tTP/DqV7+6nHfeed1n0utb3hf3+P3vf1/q/0w96k1YPzs/+5AzygorrzbtY7Xygze+c9dWVrUnAQIECBAgQIAAgUEFFPRB+Rd7cAV9KTKpBb1+bryW4bvvvrv7HPpuu+3Wfb68vpK98847d6+IX3nllUucWt+avtFGG5Xjjz++vPjFL+5+9qyzzuo+t37jjTeWmTNn9m5VP3/+zne+s1x44YXlcY973H3+/Fvf+tbuS+zu/VDQe4n9AAECBAgQIECAAIFRCyjo+eJV0Jcik1rQ6yvk9Qvh6lvY69vSF34r+3Tf4v65z32u7Lrrrn9UxGtxr8/Vor+kx9FHH9290n7++eeXbbbZZok/6xX0pQjYjxIgQIAAAQIECBCYIAEFPV/YCvpSZLK4z6Av/Ovf+MY3ylOf+tTeL4mrr5o/6EEP6r7xfeFHfUX8zjvv7F5Nv6/Hu971rq6c17e212Mt7cNn0JdWzM8TIECAAAECBAgQGKeAgp4vVwV9KTLpK+h11Bve8IZyzDHHlNe97nUL/pm173//+93b4J/+9KeXl7/85d0/ifaZz3ym7LTTTosc/Qtf+EL3ynp9lX7dddf9o83q29rf/OY3d19KV/+5tanHgx/84FL/ZzoPBX06Sn6GAAECBAgQIECAwPgFFPR8GSvoS5HJdAp6HVf/ybT3ve995Yorrij33HNPeeQjH1n23HPP8prXvKZ88IMf7F4Bv/XWW//om97r59rXX3/97pX1WvDv/dh4443LD3/4wz/674cffnipnzWfzkNBn46SnyFAgAABAgQIECAwfgEFPV/GCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFEp6PkyCd1IQQ/lNZwAAQIECBAgQIBAMwIKer6oFPR8mYRupKCH8hpOgAABAgQIECBAoBkBBT1fVAp6vkxCN1LQQ3kNJ0CAAAECBAgQINCMgIKeLyoFPV8moRsp6KG8hhMgQIAAAQIECBBoRkBBzxeVgp4vk9CNFPRQXsMJECBAgAABAgQINCOgoOeLSkHPl0noRgp6KK/hBAgQIECAAAECBJoRUNDzRaWg58skdCMFPZTXcAIECBAgQIAAAQLNCCjo+aJS0PNlErqRgh7KazgBAgQIECBAgACBZgQU9HxRKej5MgndSEEP5TWcAAECBAgQIECAQDMCCnq+qBT0fJmEbqSgh/IaToAAAQIECBAgQKAZAQU9X1QKer5MQjdS0EN5DSdAgAABAgQIECDQjICCni8qBT1fJqEbKeihvIYTIECAAAECBAgQaEZAQc8XlYKeL5PQjRT0UF7DCRAgQIAAAQIECDQjoKDni0pBz5dJ6EYKeiiv4QQIECBAgAABAgSaEVDQ80WloOfLJHQjBT2U13ACBAgQIECAAAECzQgo6PmiUtDzZRK6kYIeyms4AQIECBAgQIAAgWYEFPR8USno+TIJ3UhBD+U1nAABAgQIECBAgEAzAgp6vqgU9HyZhG6koIfyGk6AAAECBAgQIECgGQEFPV9UCnq+TEI3UtBDeQ0nQIAAAQIECBAg0IyAgp4vKgU9XyahGynoobyGEyBAgAABAgQIEGhGQEHPF5WCni+T0I0U9FBewwkQIECAAAECBAg0I6Cg54tKQc+XSehGCnoor+EECBAgQIAAAQIEmhFQ0PNFpaDnyyR0IwU9lNdwAgQIECBAgAABAs0IKOj5olLQ82USupGCHsprOAECBAgQIECAAIFmBBT0fFFNREG/6KKLynbbbVdWXHHFRRK4++67y1e/+tXyzGc+M18yQRu5CYNgjSVAgAABAgQIECDQmIBukC+wiSjoM2fOLDfffHNZb731FkngF7/4Rfff5s2bly+ZoI3chEGwxhIgQIAAAQIECBBoTEA3yBfYRBT0FVZYodxyyy1l3XXXXSSB7373u2WbbbYp9cKclIebcFKSdp4ECBAgQIAAAQIEliygG+S7QkZd0PfYY49O/NOf/nTZaaedysorr7wggfqq+Te/+c2y+eabl3PPPTdfMkEbuQmDYI0lQIAAAQIECBAg0JiAbpAvsFEX9AMOOKATP+WUU8pee+1VVl111QUJPOhBDyobb7xxOfDAA8s666yTL5mgjdyEQbDGEiBAgAABAgQIEGhMQDfIF9ioFAcJzwAAIABJREFUC/oU9xFHHFEOO+ywsvrqq+dLYDlv5CZczuAOR4AAAQIECBAgQCCpgG6QL5iJKOj52IfbyE04nL0jEyBAgAABAgQIEMgkoBtkSuMPu0xEQa9fEFdfQf/iF79Ybr311jJ//vxFkvAt7vkuTBsRIECAAAECBAgQIBAroKDH+t6f6RNR0Hfeeefyox/9qMyZM6dssMEGZcaMGYtY7bbbbvfHrsnfcRM2GZulCRAgQIAAAQIECCxzAd1gmZM+4IETUdDXWGONcvHFF5cnPOEJDxis9QFuwtYTtD8BAgQIECBAgACBZSOgGywbx2U5ZSIK+pZbblk+9rGPla233npZ2jU5y03YZGyWJkCAAAECBAgQILDMBXSDZU76gAdOREH//Oc/X4455phy8sknd/+02iQ/3ISTnL5zJ0CAAAECBAgQIPD/BXSDfFfDRBT0tdZaq/zud78rd999d1lttdXKSiuttEgSt912W75kgjZyEwbBGkuAAAECBAgQIECgMQHdIF9gE1HQTznllCXK77fffvmSCdrITRgEaywBAgQIECBAgACBxgR0g3yBTURBz8c+3EZuwuHsHZkAAQIECBAgQIBAJgHdIFMaf9hlYgr69ddfX+bOnVvq/z7++OPLeuutV84999wye/bsstVWW+VLJmgjN2EQrLEECBAgQIAAAQIEGhPQDfIFNhEF/ctf/nKp/xb69ttvXy666KJy3XXXlU022aQcddRR5ZJLLilnnXVWvmSCNnITBsEaS4AAAQIECBAgQKAxAd0gX2ATUdCf9rSnlZe85CXlda97Xan/JvpVV13VFfRLL720vOhFLyo33XRTvmSCNnITBsEaS4AAAQIECBAgQKAxAd0gX2ATUdAf/OAHl29961vlEY94xCIF/cYbbyxbbLFFufPOO/MlE7SRmzAI1lgCBAgQIECAAAECjQnoBvkCm4iCvuGGG5YzzjijbLfddosU9HPOOaccdthh3efSJ+XhJpyUpJ0nAQIECBAgQIAAgSUL6Ab5rpCJKOivf/3ry9e+9rVy5plnlkc96lHl8ssvL7fcckvZd999u/85/PDD8yUTtJGbMAjWWAIECBAgQIAAAQKNCegG+QKbiIJ+1113lf3337+cfvrpZf78+WXFFVcs8+bNKy9/+cvLhz/84TJz5sx8yQRt5CYMgjWWAAECBAgQIECAQGMCukG+wCaioE+x17eyX3HFFeWee+4pW2+9ddlss83yJRK8kZswGNh4AgQIECBAgAABAo0I6Ab5gpqogp6Pf/lv5CZc/uaOSIAAAQIECBAgQCCjgG6QL5WJKOj17ez1rexf/OIXy6233tq9gr7w44ILLsiXTNBGbsIgWGMJECBAgAABAgQINCagG+QLbCIK+pw5c7qCvuuuu5YNNtigzJgxY5Ekjj322HzJBG3kJgyCNZYAAQIECBAgQIBAYwK6Qb7AJqKgr7POOuUjH/lI2WWXXfIlsJw3chMuZ3CHI0CAAAECBAgQIJBUQDfIF8xEFPRZs2aVCy+8sPsn1ib94Sac9CvA+RMgQIAAAQIECBD4g4BukO9KmIiCfswxx5QbbrihvPe97/2jt7fniyR2IzdhrK/pBAgQIECAAAECBFoR0A3yJTURBX333XcvX/rSl8raa69dttpqq7LSSistksTZZ5+dL5mgjdyEQbDGEiBAgAABAgQIEGhMQDfIF9hEFPQDDjhgifJz587Nl0zQRm7CIFhjCRAgQIAAAQIECDQmoBvkC2wiCno+9uE2chMOZ+/IBAgQIECAAAECBDIJ6AaZ0vjDLhNV0H/2s5+V73znO93n0OsXxq277rr5EgneyE0YDGw8AQIECBAgQIAAgUYEdIN8QU1EQf/tb39bXvOa13T/1No999zTpTBz5syy7777lhNOOKGsttpq+ZIJ2shNGARrLAECBAgQIECAAIHGBHSDfIFNREF/1ateVc4///zuW9y33377LoWvfOUr5eCDDy7Pfe5zy4knnpgvmaCN3IRBsMYSIECAAAECBAgQaExAN8gX2EQU9HXWWaecddZZ5dnPfvYiCdRvdt9rr71Kfev7pDzchJOStPMkQIAAAQIECBAgsGQB3SDfFTIRBb2+hf2yyy4rj370oxdJ4JprrinbbrttqW+Bn5SHm3BSknaeBAgQIECAAAECBBT01q6BiSjoO+64Y3nYwx7WfQZ9lVVW6TK64447yn777Vduu+227u3vk/JQ0CclaedJgAABAgQIECBAQEFv7RqYiIJ+9dVXl5122qnceeed5fGPf3z3Le5XXnllV9bPO++8stVWW7WW2/3eV0G/33R+kQABAgQIECBAgMCoBHSDfHFOREGfesX81FNPLd/+9rfL/Pnzy5Zbbln22Wefsuqqq+ZLJXAjN2EgrtEECBAgQIAAAQIEGhLQDfKFNTEFPR/9MBu5CYdxd1QCBAgQIECAAAEC2QR0g2yJlDIxBf073/lO92+eX3fddd1b3LfYYosyZ86c7n9P0sNNOElpO1cCBAgQIECAAAEC9y2gG+S7OiaioNd/Yu1lL3tZ2WabbcrTnva0LoWvf/3r5dJLLy2nnXZaeclLXpIvmaCN3IRBsMYSIECAAAECBAgQaExAN8gX2EQU9E022aS84hWvKG9729sWSeDwww8vH/3oR8sNN9yQL5mgjdyEQbDGEiBAgAABAgQIEGhMQDfIF9hEFPT676B/85vfLJtuuukiCXzve9/rvtX9d7/7Xb5kgjZyEwbBGkuAAAECBAgQIECgMQHdIF9gE1HQd9lll+5t7AcccMAiCcydO7ecfvrp3T+1NikPN+GkJO08CRAgQIAAAQIECCxZQDfId4VMREE/6aSTylve8pay1157lac+9aldCvUz6GeeeWY54ogjyqxZsxYk88IXvjBfSstwIzfhMsQ0igABAgQIECBAgEDDArpBvvAmoqCvsMIK05Kv3+4+b968af1sqz/kJmw1OXsTIECAAAECBAgQWLYCusGy9VwW0yaioC8LqLHMcBOOJUnnQYAAAQIECBAgQOCBCegGD8wv4rcV9AjVxDPdhInDsRoBAgQIECBAgACB5SigGyxH7GkeamIK+iWXXFIuvPDCcuutt5Z77rlnEZ53v/vd0+Rq/8fchO1n6AwIECBAgAABAgQILAsB3WBZKC7bGRNR0N/xjneUN73pTWXzzTcv66+/fqmfNZ961P/7ggsuWLaqiae5CROHYzUCBAgQIECAAAECy1FAN1iO2NM81EQU9FrKjzzyyLL//vtPk2W8P+YmHG+2zowAAQIECBAgQIDA0gjoBkujtXx+diIK+gYbbFAuuuiistlmmy0f1cRHcRMmDsdqBAgQIECAAAECBJajgG6wHLGneaiJKOhHHXVU+elPf1qOO+64abKM98fchOPN1pkRIECAAAECBAgQWBoB3WBptJbPz05EQa9fCrfrrruW7373u2XLLbcsK6200iK6Z5999vLRTnAUN2GCEKxAgAABAgQIECBAIIGAbpAghHutMBEF/dWvfnX54Ac/WHbYYYc/+pK46jF37tx8yQRt5CYMgjWWAAECBAgQIECAQGMCukG+wCaioK+xxhrl9NNP715Fn/SHm3DSrwDnT4AAAQIECBAgQOAPArpBvithIgr6RhttVM4777yyxRZb5EtgOW/kJlzO4A5HgAABAgQIECBAIKmAbpAvmIko6PUt7Oeee273VvbVVlstXwrLcSM34XLEdigCBAgQIECAAAECiQV0g3zhTERB33rrrcv1119f5s+fXzbeeOM/+pK4yy+/PF8yQRu5CYNgjSVAgAABAgQIECDQmIBukC+wiSjoRxxxxBLlDz/88HzJBG3kJgyCNZYAAQIECBAgQIBAYwK6Qb7AJqKg52MfbiM34XD2jkyAAAECBAgQIEAgk4BukCmNP+wyUQX9sssuK9ddd12ZMWNG9++h17e+T9rDTThpiTtfAgQIECBAgAABAosX0A3yXRkTUdBvvfXWsvfee5cLL7ywrLnmmt1n0X/1q191/y56/efX1l133XzJBG3kJgyCNZYAAQIECBAgQIBAYwK6Qb7AJqKgv/SlL+2+JO6jH/1oefSjH92lcO2115b99tuvbLrppuXjH/94vmSCNnITBsEaS4AAAQIECBAgQKAxAd0gX2ATUdAf+tCHlvPPP788+clPXiSBSy65pDzvec8rt99+e75kgjZyEwbBGkuAAAECBAgQIECgMQHdIF9gE1HQ11hjjXLxxReXJzzhCYskcMUVV5RnPetZpV6Yk/JwE05K0s6TAAECBAgQIECAwJIFdIN8V8hEFPTddtute5W8vpV91qxZXQo33XRT2Weffcpaa61VzjnnnHzJBG3kJgyCNZYAAQIECBAgQIBAYwK6Qb7AJqKg//jHPy61pF999dVl9uzZ3be4/+hHPyqPfexjy6c//emy4YYb5ksmaCM3YRCssQQIECBAgAABAgQaE9AN8gU2EQV9iv0LX/hC+fa3v919i3v9Z9ae85zn5EskeCM3YTCw8QQIECBAgAABAgQaEdAN8gU16oJ+wQUXlDlz5pSvf/3r5SEPecgi+vWfWdtuu+3KSSedVJ7xjGfkSyZoIzdhEKyxBAgQIECAAAECBBoT0A3yBTbqgv7CF76w+7fODz300MXKv+c97ylf+tKXfAY933VpIwIECBAgQIAAAQIEggUU9GDg+zF+1AV9o402Kueee+6Cf/v83j717e71n1mrn0eflIebcFKSdp4ECBAgQIAAAQIEliygG+S7QkZd0FdZZZXui+E23XTTxcp///vf774o7o477siXTNBGbsIgWGMJECBAgAABAgQINCagG+QLbNQF/ZGPfGQ5+uijy+67775Y+bPPPrscdthh5YYbbsiXTNBGbsIgWGMJECBAgAABAgQINCagG+QLbNQF/TWveU258MILy6WXXlrqq+kLP+qr5ttuu233GfX6WfRJebgJJyVp50mAAAECBAgQIEBgyQK6Qb4rZNQF/ZZbbilPfOITy8yZM7tvc9988827fwP9uuuuK+973/vKvHnzyuWXX17WX3/9fMkEbeQmDII1lgABAgQIECBAgEBjArpBvsBGXdAr9w9/+MNy0EEHlfPOO6/798/ro5b05z//+eX9739/2XjjjfOlErjR1E04+5AzygorrxZ4JKMJECBAgAABAgQIEFhY4MZ37poKREFPFccfuur/ldY/tNaRP375y1+W+qVw9XQ322yzstZaa438jBd/egr6RMbupAkQIECAAAECBBIIKOgJQki+wsQU9OQ5LLf1FPTlRu1ABAgQIECAAAECBBYRUNBdEH0CCnqf0MieV9BHFqjTIUCAAAECBAgQaEZAQW8mqsEWVdAHox/mwAr6MO6OSoAAAQIECBAgQEBBdw30CSjofUIje15BH1mgTocAAQIECBAgQKAZAQW9magGW1RBH4x+mAMr6MO4OyoBAgQIECBAgAABBd010CegoPcJjex5BX1kgTodAgQIECBAgACBZgQU9GaiGmxRBX0w+mEOrKAP4+6oBAgQIECAAAECBBR010CfgILeJzSy5xX0kQXqdAgQIECAAAECBJoRUNCbiWqwRRX0weiHObCCPoy7oxIgQIAAAQIECBBQ0F0DfQIKep/QyJ5X0EcWqNMhQIAAAQIECBBoRkBBbyaq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0GCGYSzZDgOiJYZFQEEfFsb+LOIPn/5kNdRJZTtUsf78vGz7k9VQJpXrULT69bOy7VdeQ5lWtkPR6tfPyrZfeQ3ytAr6IKf7AntbsGBBOumkk9JRRx2VxowZ09juB3u7sh3cfGU7mNnKdTBzzbuSrWwHV2Bwd+ZxO7jZ9m1nCnrfEjMvAQIECBAgQIAAAQIECAykgII+kLHaFAECBAgQIECAAAECBAj0TUBB71ti5iVAgAABAgQIECBAgACBgRRQ0AcyVpsiQIAAAQIECBAgQIAAgb4JKOh9S8y8BAgQIECAAAECBAgQIDCQAgr6QMb6wps666yz0imnnJLmzJmTNt1003TGGWek7bbbriGBwdzqDTfc0OV66623dtledtllac899xzMzTa0q/xtC5deemm6884700tf+tI0ZcqU9OUvfzm9+tWvbkhhMLf6zW9+M+X/7rnnnm6D+c/jY489Nu22226DueFGd5Ufw0cffXT65Cc/2f1969ZvgeOOOy4df/zxz9nE+PHj04MPPtjvjZk+3X///enII49MP//5z9MTTzyRXvWqV6Xp06enN7zhDXQILBcBBX25sI/8nV544YXpve99b8olfZtttklnn312+s53vpP+/Oc/p3XXXXfkB3KPwyaQ/0K56aab0pZbbpne9a53KejDJrt8F9p1113Tvvvum7baaqv05JNPpmOOOSbdfvvt3WN25ZVXXr7DufdlEvjpT3+aXvSiF6UNN9ywW+fcc8/tnmSbOXNmV9bd+i/w+9//Pu2zzz5p7Nixaccdd1TQ+x9pygX94osvTtdcc83i3eTH8RprrDEAu2t3Cw8//HB6/etf3z1ODz744LTmmmumu+66K62//vpp0qRJ7cLY+XIVUNCXK//I3fnWW2/dFbh81WbRbZNNNumutOZn+d0GQ2CFFVZQ0AcjyiV28dBDD3X/cLj++uvTm9/85gHdZbvbWn311buSfsABB7SLMCA7f+yxx7q/b/MT4ieccELaYostFPQByDYX9MsvvzzddtttA7AbW1gk8NnPfra7yHHjjTdCIRBGQEEPE0W9QRYuXJhWWmmldNFFF6W99tpr8R3ll93lv2jyP/jdBkNAQR+MHF9oF7NmzUobbbRRdxV9s802G9yNNrazp556qvuz+f3vf393Bf01r3lNYwKDt92cZX7C5fTTT0877LCDgj4gEeeCnp9EGzduXBozZkzKFz6+9KUvpQ022GBAdtjmNvKfubvssku67777un8PT5gwIX3sYx9LBx54YJsgdh1CQEEPEUPdIR544IHuD5z8DGF+H+uiW/6LJb+08q9//WvdAaw+YgIK+ohRj+gdPfPMM+kd73hHyi/F8yz/iNJXu7P8RMub3vSmNH/+/LTKKquk888/P7397W+vdn8WHhmBCy64IJ144okpv8R9xRVXVNBHhn1E7iW/nezxxx/v3p/8z3/+s3t1RP6MkDvuuCO9/OUvH5EZ3MnwC+THab5NnTo1vfvd70633HJLOuyww7q3gr7vfe8b/ju0IoGlEFDQlwKp7z+yqKD/9re/7f5BuOiW/xFx3nnndX/BuA2GgII+GDk+fxeHHHJIuvLKK9NvfvObtPbaaw/mJhvbVX5l0+zZs9O8efPSJZdc0n0mSL564wp6f0+Ee++9N73xjW9MV199dXrd617XbcQV9P7mWZr8P//5T/ce5SOOOKIrd279FBg9enT3uM3/Rl50+8QnPtE9yTZjxox+bsrUvRdQ0HsfYXkDXuJeNhqUn1DQByXJ/93HoYce2r3vMX9a/0uMC8UAAA6vSURBVMSJEwdvg3bUCey8887dP/bzVRu3fgrkx2l+G1n+4LBFt/wWhvzn8qhRo9KCBQuec6yfuzT1swXe+ta3dh/2+OzP9yHUL4H11lsv5Rzzk6SLbjnP/AqJ/OnubgSWh4CCvjzUl8N95vdK5a+LyB9as+iWr9Tkl836kLjlEEilu1TQK8Euh2Xzy9pzOc9fm3fdddd17z93G1yBnXbaKa2zzjrp+9///uBucsB39uijj6Z//OMfz9nlBz/4wbTxxht3X+HksyMG6wTIT7jkJ9UOOuig7msS3fopsN9++6X86pdnv33s8MMPTzfffPNzrqr3c3em7quAgt7X5IY496KvWfvWt77Vvcz929/+djrnnHO6907lZw/d+iuQPzE4f4BYvuWvCjnttNO6rwvJH1LkK/T6m2v+kJr8vuQrrrjiOd99nj+gKH8vult/BfJ3Y+fvPM+FPJe6/L7ladOmpV/84hfdlRy3wRHwEvfByfLTn/502mOPPbq/V+fOndtdYc1vS8mfJ+HfUf3NOb+UPX8+U/6O+/zViPk96PkD4vK/k/fff//+bszkvRZQ0Hsd39CGz1fPTz755DRnzpzumfz8CbO+rmlohhF/Ol9dzYX8+bf8ScKuxkVMbOlmyq+GeKHb9773vfSBD3xg6RbxUyEF8lepXXvttd2fxfkJl80337y7wqqch4xrmYZS0JeJL9Qv77vvvt1bjf71r391330+efLk9MUvftHnRoRK6f83zM9+9rN01FFHpb/97W/dW8nyZwr4FPf/n6XfGh4BBX14HK1CgAABAgQIECBAgAABAgSWSUBBXyY+v0yAAAECBAgQIECAAAECBIZHQEEfHkerECBAgAABAgQIECBAgACBZRJQ0JeJzy8TIECAAAECBAgQIECAAIHhEVDQh8fRKgQIECBAgAABAgQIECBAYJkEFPRl4vPLBAgQIECAAAECBAgQIEBgeAQU9OFxtAoBAgQIECBAgAABAgQIEFgmAQV9mfj8MgECBAgQIECAAAECBAgQGB4BBX14HK1CgAABAgRCCqywwgrpsssuS3vuuWfI+QxFgAABAgQI/K+Agu5sIECAAAECy1lgjz32SE888US65pprlphkxowZacqUKenWW29NW2655ZAnffDBB9Nqq62WxowZM+Tf9QsECBAgQIDAyAoo6CPr7d4IECBAgMASApdffnl65zvfmf7+97+n9dZb7znHDzzwwPSHP/whzZw5c0hyCxcuTKNHjx7S7/hhAgQIECBAYPkKKOjL19+9EyBAgACB9OSTT6a11147HXzwwenzn//8YpHHH388veIVr0if+tSn0p133pluvPHG9O9//ztNmjQpHX300ek973nP4p/dYYcd0mabbdaV8h/84Adp0003Tddff316/kvcjzzyyO4l7/fdd1+39v7775+OPfbY9JKXvKRb67jjjkv5CYN8n5/73OfSww8/nHbbbbd0zjnnpJe97GXdzzz99NPplFNO6f63e++9N40fPz595CMfScccc0x3/P77709Tp05NV199dRo1alTadttt01e/+tW0/vrrS5sAAQIECBD4PwQUdKcHAQIECBAIIHDEEUekiy66KN19991dqc63c889tyu+d911V/rRj36Udt555zR27Nh05ZVXpsMPPzzddNNNaeutt+5+Nhf0/DL4XPIPOOCA9Mwzz6SNN954iYJ+wgknpLe85S1prbXWSrfffnvKV+hzmc73v6ign3rqqeltb3tbOv7447uCvs8++6QPfehD6cQTT+x+Jpf8XM5PP/30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\" width=\"1000\">"
Danilo Ferreira de Lima
committed
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
Danilo Ferreira de Lima
committed
"fig = plt.figure(figsize=(10,10))\n",
"plt.barh([\"PCA 1\", \"PCA 2\"], pca.explained_variance_)\n",
"plt.gca().set(xlabel=\"Variance\", ylabel=\"Component\", title=\"Explained variance\")\n",
"plt.show()"
]
},
"id": "ff6b13e3",
"metadata": {},
"source": [
"Clearly the zeroth PCA component holds most of the variance and we could therefore use this component to closely determine where a data sample point should be if we dropped the other component. This is equivalent to fitting a line and using the projection of the point in the line to characterize the data, instead of using the two coordinates.\n",
"\n",
"While this may seem superfluous in this simple case, if one has hundreds of variables, PCA provides a simple and almost automatic way to reduce the amount of features being examined, by concentrating most of the variance in a few variables. Which variables to choose, can be decided from the `explained_variance_` attribute."
]
},
{
"cell_type": "markdown",
"id": "7bcb1e2c",
"metadata": {},
"source": [
"## Other representation learning methods\n",
"\n",
"While PCA is a great method for both data visualization and choosing a latent space to condense the information contained in the data, there are many other available, which differ on the assumptions made. Here are some of them and easy-to-read and practical references on how to use them and which assumptions they entail.\n",
"\n",
" * Kernel PCA: While PCA does a great job at finding the directions where most of the variance is, it focuses on making only *linear* combinations of the features to find the new representation directions. A straightforward method to generalise this idea to non-linear transformations is to apply a non-linear transformation to the data features and after that apply PCA. This is similar to what Kernel PCA does, generalizing the PCA idea. Of course, a non-linearity transformation needs to be chosen for this and this adds extra assumptions in the model. Some more on this can be read here: https://scikit-learn.org/stable/modules/decomposition.html#kernel-pca\n",
" \n",
" * Independent Component Analysis: PCA looks for the direction containing most of the variance, but this is not always the optimal representation of the data for all goals. In some cases, independence is much more important than decorrelation and this is where the Independent Component Analysis comes in. The ICA also assumes that the new representation can be built from a linear combination of the existing data, but it assumes additionally each observed feature comes from a linear combination of independent latent representations we want to discover. Since independence is a very strong requirement, it is imposed through various different proxy methods. One set of methods focuses on reducing the mutual information (as defined in statistics) between the new features, while an alternative imposes non-Gaussianity requirements on the underlying latent features to be discovered. Since Gaussians do not have statistical moments above the second-order moment (covariance), one can require for example, the fourth order statistical moment (kurtosis) to be maximized in the new representation. More on the scikit-learn implementation can be found here: https://scikit-learn.org/stable/modules/decomposition.html#ica .\n",
" \n",
" * t-SNE embedding: If the objective is only to visualize the data, there are many alternative solutions which focus on reducing the dimensionality of the data into a 2D representation. The t-SNE method assumes that a Gaussian probability can be used to model similarity between data points in N dimensions and that one should maintain that similarity measure when projecting the data in two dimensions, assuming however that the 2D data points' similarity can be represented with a t-Student distribution. Full details on the method can be seen here: https://jmlr.org/papers/volume9/vandermaaten08a/vandermaaten08a.pdf It can be easily tried in scikit-learn following the procedure here: https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html"
]
},
{
"cell_type": "markdown",
"id": "18c90048",
"metadata": {},
"source": [
"### Contact us at the EuXFEL Data Analysis group at any time if you need help analysing your data!\n",
"\n",
Danilo Ferreira de Lima
committed
"#### Data Analysis group: da@xfel.eu"
{
"cell_type": "code",
"execution_count": null,
"id": "e4f0d770",
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
Danilo Ferreira de Lima
committed
"version": "3.6.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}