Newer
Older
Danilo Ferreira de Lima
committed
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
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
2271
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
"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,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W6elS5fqv/7rv9S7d29t27atw88KID4I6IAHAiG2sLBQzc3Namxs1PLly9WvXz997nOf0969eyVJvXr10siRIyN67d/85jdyHEdbt26VdPLg49FHH+3wdwMB77zzztPRo0eD/m348OEaMWJEm+2Io0eP1pe//OWWldzAd/vhD38Y9LzAxMEf//jHlp+NGjVKjuMoJycn6LlTp05V165d20xgLF68WI7j6K233pIkPfvss3Icp93gGe5rSScC+oABA/SPf/yj5Wd79+5V165dNXXq1JafhbvF/fjx42pubta6devkOI4qKipa/q29Le6tA/qkSZPkOI42bdoU9Lxx48apS5cu+utf/yrp5N/vwgsvbDmolaSioiI5jqP09PR2Py8AxNvevXvlOI5+9rOftfu8n/70p3IcR3//+98lnQzhjz32WJvntg7o7733nhzH0cSJE4Oel56eHrSCLLkHdMdxtGjRoqDfv+6663T++ee7fubPPvtMzc3N+sMf/qAvfelLQRPA4QT0rVu3ynEc3X///UE/X7BgQZvP3dqxY8fU3Nysa665Jmj8jWSL+7Fjx3T06FENGzaszWcAkDgEdMADra/iHnhceOGFQefcRRrQGxsbdcYZZ+jf//3fW352/PhxnXfeeTr77LODtkOHEgh4rQfm6upqOY6jZ599Vs3NzUGPP//5z3IcR1VVVUHfbfHixW1ef8iQIUHb7UeNGqW+ffu2ed7ll1+uiy66qM17NTY2qkuXLnrooYckqSX4fve731VGRkbIK9qH+1qSXA8aBw4cqNtvv73lv9sL6Dt27NDPf/5zDRgwQF26dAn6+77++ustz4skoF966aX62te+1uZ5mzZtkuM4Sk1NlXTy7zdp0qSg5zU1NclxHE2bNi3k+wFAooQb0H/yk5/IcRzt27dP0skQfupEZ0DrgB4Yl0pLS4Oe19zcrNNOOy2sgN6lS5c2F1idNGmSevXqFfSznJwcXXPNNfr85z/fZkwPTLZL4QX0wOcuKSnp8HNLUmpqqkaMGKGePXsGve/w4cNbntNeQG9ubtYTTzyhCy64oOXCsoHH9773vXY/K4D4IaADHgiE2Ndee03FxcUqKyvTnj172jwv0i3ur7zyihzH0QsvvKCPP/645TF58mQ5jqOVK1e2+/uBgPf0008H/TwvLy/khMKpj8B5b4HvFuriPt/+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brD6pHHZZZdp5MiRHT72iU98wuqb8hw5ckQ/+9nPdPbZZ2vjxo2mDych77//foe/67KyMn3hC1/Qf/7nf1p/XeGNN97YZXvlXXfd1WVVHeiN6/U9XVw5b6SLi+ejdHL5XJcOLp8/YS8COoy48847NXjwYM2fP18bNmzQLbfcooEDB2rXrl2mDy0hLm2BbN2e+PWvf11btmzRtm3b2l62aX2szaRJk1RRUaG77rpL/fv3V11dnelDCzRy5EgNGDBAixcv7tC2+/btM31oSXFli97q1av1kY98RA8//LCqqqr0wgsv6IQTTtDUqVNNHxoc51J9TxeXzhvp4uL5KJ2idq5LB1fOn7AXAR1GHDhwQNnZ2Ro4cKBOOukkXXXVVc7cxb09lwZwkydPDrzW0EZPP/20zj33XB133HH63Oc+Z/0jXILadvLkyaYPLSkuDTBeffVVfepTn1JWVpYuvvhi7uKOULhU39PFtfNGurh2PkqnqJ3r0sGl8yfs5FeFBQAAAADAUgR0AAAAAAAsQEAHAAAAAMACBHQAAAAAACxAQAcAAAAAwAIEdAAAAAAALEBABwAAAADAAgR0AAAAAAAsQEAHAAAAAMACBHTAYcOHD1csFlMsFtNHPvIRnXfeecrOztYHH3zQ4fNmzJihK6+8UieffLL69++vT3/60xo7dqx27tzZ4fP27dunU045Raeeeqr27duXybcSWcOHD9e1117b6+e9+eab+va3v62zzjpLsVhMr7zySgaODgAAADYhoAMOGz58uIYNG6Zt27Zp8+bNeuGFF3T88cdrxIgRbZ8zevRo9enTR/fcc4/eeust1dbW6i9/+Yu++93v6vHHH+/w/fLy8vSVr3xF//Iv/6KpU6dm+u1EUrwB/bXXXtP999+vgoICAjoAWGratGnKysrSli1b2j52yy236NOf/rSampoMHhmAqCCgAw7rLvzdeuutGjRokCRp1apVisViXYJ4q7///e8d/v+rX/2qJkyYoPHjx+trX/taXMcwadIkffKTn9Rxxx2nQYMG6Wc/+1nbv23atEnXXHON+vfvr5NOOknf//73tX379rZ/z8nJ0aWXXqpJkybpn/7pn9S/f3+NGDFChw4d0rhx4/TRj35UZ555ph566KEOPzMWi+mPf/yjhg0bpn79+mnIkCF66aWXOnzOunXr9LWvfU39+vXTaaedpttuu0179uzp0na///3vNWjQIJ122mm6/fbbdeDAgbbPaWlp0S9/+UudffbZOuGEE3TZZZdp0aJFbf8+efJkDRgwQK+//rouvvhi9e/fX0OHDtXWrVvb3l/rDofWV/uvD0JABwA7HTlyRJdccknbue43v/mNPvaxj3UI7ACQCgI64LDuAvqoUaN0+umnS5LuuOMOnXjiiR1CZ5Dq6mplZWVp165d2rlzp7KyslRTU9Pj1/zxj39Uv3799Pjjj+udd97R6tWr9X//93+Sjg5iPvvZz+orX/mKiouLtXLlSn3uc5/TlVde2fb1OTk5OvHEE3X99ddr/fr1mjNnjo477jgNHTpUo0aN0oYNG/Tcc88pFotpxYoVbV8Xi8V0+umna+LEiXrnnXf061//Wn369FFFRYUkae/evTr77LP13e9+V2VlZVqwYIHOO+88DR8+vEPbnXzyyRoxYoQqKyv16quv6oQTTtCf/vSnts/50Y9+pC9/+ctasmSJqqur9fvf/15ZWVnauHGjpKMBvW/fvrrqqqtUVFSkkpISfeITn9CPfvQjSdKePXv0gx/8oG2Xw7Zt29TS0tLr74KADgD2evXVV5WVlaWHH35Yp556qsrLy9v+7Tvf+Y5OOeUUfe973zN4hABcRkAHHNY5oK9atUqnn366fvCDH0iSvvnNb+qSSy6J63uNHj1a3/nOd9r+/9prr9X999/f49ecffbZgZ/zl7/8RX369NHmzZvbPrZ+/XrFYjGtXr1a0tGAfsIJJ+j9999v+5yhQ4dqyJAhOnz4cNvHLrroIj3yyCNt/x+LxTps45ekL37xixo5cqQk6U9/+pNOPfXUDtfiz5s3T8cee2zbCv7w4cN17rnn6tChQ22f8/3vf18//OEPJR2dsDjmmGPU0NDQ4ef827/9m+677z5JRwN6LBZTdXV1278//fTT+uhHP9r2//FucW+PgA4AdvvsZz+r4447TosXL+7w8YULF2rOnDkEdABJI6ADDhs+fLj69Omj/v37KysrS8cee6yuu+46/e1vf5MkDRs2TJdeemmv3+fQoUMaPHiwZsyY0faxl19+WR/72Mc6BNj2/va3vykWi2nhwoXd/vsTTzyhIUOGdPn4KaecoilTpkg6GtA/+clPdvj3m266Sd/61rc6fOyKK67QL37xi7b/j8Vibd+j1V133aWvfvWrkqRf/OIXbf/dqqmpSbFYTG+++aako23X+efccccdbVv7X3rpJcViMfXv37/D6yMf+UjbBMjkyZN1wgkndPgeM2fO1DHHHNP2/wR0AIiW119/Xccff7z69OmjysrKLv++aNEiAjqApBHQAYcNHz5cV111laqqqlRXV9dlK3u8W9znzZunWCymPn36dHjFYjG99tpr3X7N+++/32NAf/zxx3Xeeed1+fiAAQP0/EzEw34AAAU3SURBVPPPS/rwGvTO76lzoL3yyit15513tv1/UEBvDdft/7tVa0BfsmRJ4M+5884727bgv/jii+rTp482bNigqqqqDq9t27ZJ+vAa9PZeeeUVxWIfllYCOgBER0lJiU466SQ9//zz+ta3vqXrr7++y+cQ0AGkgoAOOKy38Ldy5cq4bhL33e9+VzfccIPKyso6vH784x/3OMgYMmRIUlvci4qKJKUW0Fu3s7f60pe+lPAW954C+jvvvNMh0HcnnoB+22236dvf/nbg9+gOAR0A7FNbW6tBgwbp4YcfliQVFxfrmGOOUXFxcYfPI6ADSAUBHXBYPKuz//M//6M+ffrol7/8pZYvX666ujq98cYbuv766/X4449rx44d6tu3rwoLC7t87V/+8hf17dtXO3bs6PZ7//nPf1a/fv30xBNPaOPGjSopKdGTTz4p6cObxP3rv/6rSkpKtGrVKn3+85/vcpO4ZAP6GWecoUmTJumdd97RmDFjdOyxx2r9+vWSjt4k7qyzztL3vvc9lZWVaeHChfr4xz/e5SZxPQV0Sfrxj3+sIUOGqKCgQO+++65Wr16t3NxczZs3T1J8Af3hhx/WOeecow0bNqixsTFwN8OePXtUWlqq0tJSxWIx/eEPf1Bpaak2bdrU7ecDADJn586duvjii/Vf//VfHT5+zTXXaOjQoR0+RkAHkAoCOuCweLdP5+fn64orrtBJJ52k/v3765JLLtFvf/tb/f3vf9f//u//6pRTTuk2OB48eFCnnXaaHnvsscDvPWHCBF100UXq27evzjrrLI0aNart3+J9zFpv76m7gP7000/rG9/4hrKysnTuuedq+vTpHb4m3sestdc5oB84cEBjxozRkCFD1LdvXw0aNEjXXXed1q1bJym+gL5jxw594xvf0IknntjjY9YWLVrU5ZFssVisw6QCAMB+BHQAqSCgA3AOW8ABADa6+uqrdcYZZ+j444/X4MGD255aAgDxIqADcA4BHQAAAFFEQAfgHAI6AAAAooiADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABQjoAAAAAABYgIAOAAAAAIAFCOgAAAAAAFiAgA4AAAAAgAUI6AAAAAAAWICADgAAAACABf5/ISAf19tL1bMAAAAASUVORK5CYII=\" width=\"1000\">"
],
"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",