-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUntitled.ipynb.orig
1062 lines (1062 loc) · 100 KB
/
Untitled.ipynb.orig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
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
<<<<<<< HEAD
{
"cells": [
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f22fa080630>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np, pandas as pd; np.random.seed(0)\n",
"import seaborn as sns; sns.set(style=\"white\", color_codes=True)\n",
"tips = sns.load_dataset(\"tips\")\n",
"g = sns.jointplot(x=\"total_bill\", y=\"tip\", data=tips, kind='reg')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>total_bill</th>\n",
" <th>tip</th>\n",
" <th>sex</th>\n",
" <th>smoker</th>\n",
" <th>day</th>\n",
" <th>time</th>\n",
" <th>size</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>16.99</td>\n",
" <td>1.01</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>10.34</td>\n",
" <td>1.66</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>21.01</td>\n",
" <td>3.50</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>23.68</td>\n",
" <td>3.31</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>24.59</td>\n",
" <td>3.61</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>25.29</td>\n",
" <td>4.71</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>8.77</td>\n",
" <td>2.00</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>26.88</td>\n",
" <td>3.12</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>15.04</td>\n",
" <td>1.96</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>14.78</td>\n",
" <td>3.23</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>10.27</td>\n",
" <td>1.71</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>35.26</td>\n",
" <td>5.00</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>15.42</td>\n",
" <td>1.57</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>18.43</td>\n",
" <td>3.00</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>14.83</td>\n",
" <td>3.02</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>21.58</td>\n",
" <td>3.92</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>10.33</td>\n",
" <td>1.67</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>16.29</td>\n",
" <td>3.71</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>16.97</td>\n",
" <td>3.50</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sun</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>20.65</td>\n",
" <td>3.35</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>17.92</td>\n",
" <td>4.08</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>20.29</td>\n",
" <td>2.75</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>15.77</td>\n",
" <td>2.23</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>39.42</td>\n",
" <td>7.58</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>19.82</td>\n",
" <td>3.18</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>17.81</td>\n",
" <td>2.34</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>13.37</td>\n",
" <td>2.00</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>12.69</td>\n",
" <td>2.00</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>21.70</td>\n",
" <td>4.30</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>19.65</td>\n",
" <td>3.00</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>214</th>\n",
" <td>28.17</td>\n",
" <td>6.50</td>\n",
" <td>Female</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>215</th>\n",
" <td>12.90</td>\n",
" <td>1.10</td>\n",
" <td>Female</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>216</th>\n",
" <td>28.15</td>\n",
" <td>3.00</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>217</th>\n",
" <td>11.59</td>\n",
" <td>1.50</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>218</th>\n",
" <td>7.74</td>\n",
" <td>1.44</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>219</th>\n",
" <td>30.14</td>\n",
" <td>3.09</td>\n",
" <td>Female</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>220</th>\n",
" <td>12.16</td>\n",
" <td>2.20</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Fri</td>\n",
" <td>Lunch</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>221</th>\n",
" <td>13.42</td>\n",
" <td>3.48</td>\n",
" <td>Female</td>\n",
" <td>Yes</td>\n",
" <td>Fri</td>\n",
" <td>Lunch</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>222</th>\n",
" <td>8.58</td>\n",
" <td>1.92</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Fri</td>\n",
" <td>Lunch</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>223</th>\n",
" <td>15.98</td>\n",
" <td>3.00</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Fri</td>\n",
" <td>Lunch</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>224</th>\n",
" <td>13.42</td>\n",
" <td>1.58</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Fri</td>\n",
" <td>Lunch</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>225</th>\n",
" <td>16.27</td>\n",
" <td>2.50</td>\n",
" <td>Female</td>\n",
" <td>Yes</td>\n",
" <td>Fri</td>\n",
" <td>Lunch</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>226</th>\n",
" <td>10.09</td>\n",
" <td>2.00</td>\n",
" <td>Female</td>\n",
" <td>Yes</td>\n",
" <td>Fri</td>\n",
" <td>Lunch</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>227</th>\n",
" <td>20.45</td>\n",
" <td>3.00</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>228</th>\n",
" <td>13.28</td>\n",
" <td>2.72</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>229</th>\n",
" <td>22.12</td>\n",
" <td>2.88</td>\n",
" <td>Female</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>230</th>\n",
" <td>24.01</td>\n",
" <td>2.00</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>231</th>\n",
" <td>15.69</td>\n",
" <td>3.00</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>232</th>\n",
" <td>11.61</td>\n",
" <td>3.39</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>233</th>\n",
" <td>10.77</td>\n",
" <td>1.47</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>234</th>\n",
" <td>15.53</td>\n",
" <td>3.00</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>235</th>\n",
" <td>10.07</td>\n",
" <td>1.25</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>236</th>\n",
" <td>12.60</td>\n",
" <td>1.00</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>237</th>\n",
" <td>32.83</td>\n",
" <td>1.17</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>238</th>\n",
" <td>35.83</td>\n",
" <td>4.67</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>239</th>\n",
" <td>29.03</td>\n",
" <td>5.92</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>240</th>\n",
" <td>27.18</td>\n",
" <td>2.00</td>\n",
" <td>Female</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>241</th>\n",
" <td>22.67</td>\n",
" <td>2.00</td>\n",
" <td>Male</td>\n",
" <td>Yes</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>242</th>\n",
" <td>17.82</td>\n",
" <td>1.75</td>\n",
" <td>Male</td>\n",
" <td>No</td>\n",
" <td>Sat</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>243</th>\n",
" <td>18.78</td>\n",
" <td>3.00</td>\n",
" <td>Female</td>\n",
" <td>No</td>\n",
" <td>Thur</td>\n",
" <td>Dinner</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>244 rows × 7 columns</p>\n",
"</div>"
],
"text/plain": [
" total_bill tip sex smoker day time size\n",
"0 16.99 1.01 Female No Sun Dinner 2\n",
"1 10.34 1.66 Male No Sun Dinner 3\n",
"2 21.01 3.50 Male No Sun Dinner 3\n",
"3 23.68 3.31 Male No Sun Dinner 2\n",
"4 24.59 3.61 Female No Sun Dinner 4\n",
"5 25.29 4.71 Male No Sun Dinner 4\n",
"6 8.77 2.00 Male No Sun Dinner 2\n",
"7 26.88 3.12 Male No Sun Dinner 4\n",
"8 15.04 1.96 Male No Sun Dinner 2\n",
"9 14.78 3.23 Male No Sun Dinner 2\n",
"10 10.27 1.71 Male No Sun Dinner 2\n",
"11 35.26 5.00 Female No Sun Dinner 4\n",
"12 15.42 1.57 Male No Sun Dinner 2\n",
"13 18.43 3.00 Male No Sun Dinner 4\n",
"14 14.83 3.02 Female No Sun Dinner 2\n",
"15 21.58 3.92 Male No Sun Dinner 2\n",
"16 10.33 1.67 Female No Sun Dinner 3\n",
"17 16.29 3.71 Male No Sun Dinner 3\n",
"18 16.97 3.50 Female No Sun Dinner 3\n",
"19 20.65 3.35 Male No Sat Dinner 3\n",
"20 17.92 4.08 Male No Sat Dinner 2\n",
"21 20.29 2.75 Female No Sat Dinner 2\n",
"22 15.77 2.23 Female No Sat Dinner 2\n",
"23 39.42 7.58 Male No Sat Dinner 4\n",
"24 19.82 3.18 Male No Sat Dinner 2\n",
"25 17.81 2.34 Male No Sat Dinner 4\n",
"26 13.37 2.00 Male No Sat Dinner 2\n",
"27 12.69 2.00 Male No Sat Dinner 2\n",
"28 21.70 4.30 Male No Sat Dinner 2\n",
"29 19.65 3.00 Female No Sat Dinner 2\n",
".. ... ... ... ... ... ... ...\n",
"214 28.17 6.50 Female Yes Sat Dinner 3\n",
"215 12.90 1.10 Female Yes Sat Dinner 2\n",
"216 28.15 3.00 Male Yes Sat Dinner 5\n",
"217 11.59 1.50 Male Yes Sat Dinner 2\n",
"218 7.74 1.44 Male Yes Sat Dinner 2\n",
"219 30.14 3.09 Female Yes Sat Dinner 4\n",
"220 12.16 2.20 Male Yes Fri Lunch 2\n",
"221 13.42 3.48 Female Yes Fri Lunch 2\n",
"222 8.58 1.92 Male Yes Fri Lunch 1\n",
"223 15.98 3.00 Female No Fri Lunch 3\n",
"224 13.42 1.58 Male Yes Fri Lunch 2\n",
"225 16.27 2.50 Female Yes Fri Lunch 2\n",
"226 10.09 2.00 Female Yes Fri Lunch 2\n",
"227 20.45 3.00 Male No Sat Dinner 4\n",
"228 13.28 2.72 Male No Sat Dinner 2\n",
"229 22.12 2.88 Female Yes Sat Dinner 2\n",
"230 24.01 2.00 Male Yes Sat Dinner 4\n",
"231 15.69 3.00 Male Yes Sat Dinner 3\n",
"232 11.61 3.39 Male No Sat Dinner 2\n",
"233 10.77 1.47 Male No Sat Dinner 2\n",
"234 15.53 3.00 Male Yes Sat Dinner 2\n",
"235 10.07 1.25 Male No Sat Dinner 2\n",
"236 12.60 1.00 Male Yes Sat Dinner 2\n",
"237 32.83 1.17 Male Yes Sat Dinner 2\n",
"238 35.83 4.67 Female No Sat Dinner 3\n",
"239 29.03 5.92 Male No Sat Dinner 3\n",
"240 27.18 2.00 Female Yes Sat Dinner 2\n",
"241 22.67 2.00 Male Yes Sat Dinner 2\n",
"242 17.82 1.75 Male No Sat Dinner 2\n",
"243 18.78 3.00 Female No Thur Dinner 2\n",
"\n",
"[244 rows x 7 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tips"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
||||||| merged common ancestors
=======
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/Users/Winston/anaconda3/lib/python3.6/site-packages/scipy/cluster/vq.py\n"
]
}
],
"source": [
"from numpy import array\n",
"import inspect\n",
"import subprocess\n",
"import shlex\n",
"import numpy as np\n",
"import scipy\n",
"import scipy.cluster.vq as vq1\n",
"from scipy.cluster.vq import vq, kmeans, whiten, kmedians\n",
"#from vq import vq, kmeans, whiten, kmedians ## issues with this\n",
"import matplotlib.pyplot as plt\n",
"import os\n",
"import time\n",
"print(os.path.abspath(scipy.cluster.vq.__file__))\n",
"colors = [\"#2078B5\", \"#FF7F0F\", \"#2CA12C\", \"#D72827\", \"#9467BE\", \"#8C574B\",\n",
" \"#E478C2\", \"#808080\", \"#BCBE20\", \"#17BED0\", \"#AEC8E9\", \"#FFBC79\", \n",
" \"#98E08B\", \"#FF9896\", \"#C6B1D6\", \"#C59D94\", \"#F8B7D3\", \"#C8C8C8\", \n",
" \"#DCDC8E\", \"#9EDAE6\"]"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAx4AAAL0CAYAAACCkuFuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X+07XVd5/HXW1DswnWQPDQaRVMx\n/DJQ70Gu5Q9qKaGpw5JyMhx1FO4wuaZcWt2miaU52Q8HW8pYc7szel1LTdPIMkSHGAeaCNJD4qQN\nhRV0rz/qYIogYPz4zB973zpc7+VsfrzPvj8ej7VY3LP3d3/35/s5F/Z+nu/nu0+NMQIAANDpYfMe\nAAAAsP8THgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA74QHs16pqS1Wdfx/3j6r6zrUc0zxU1eVV\ndc70z2dX1aUr7vueqrq+qm6tqjOr6puq6g+q6paqetP8Rv3QqqrXVdW7HuBjT6uqHQ/1mAAOJMID\n2GdU1Q9X1R9X1Ver6u+mf/7Rqqo9PWaMcd4Y4z/PuP+jquqiqrqpqm6uqj+tqpc9ZAfwEKuqxz2Q\nN8NjjHePMU5fcdPrk7x1jHHYGON3kmxKclOSR40xXvMQDXcmVfVt0xg8eC2f96FUVe+oqp+f9zgA\n9jbCA9gnVNVrkrwlyX9J8s+TfFOS85J8T5JH7OExB93Pp3lnku1Jjk7yjUlekuRvH+CQ18Jzknzk\nIdjP0Uk+vcvXfzYewG+Y3ZeDYV9QE167gX2S/3kBe72q+meZ/FT+R8cYvzXGuGVMfGKMcfYY42vT\n7d5RVf+tqi6pqq8m+d5df/pcVT9ZVZ+vqs9V1ct3eapTkrxjjPHVMcZd0/1/ePq4nT+J3zR97Oen\nMbRzvw+rqp+uqr+sqi9W1fuq6ogV9z+1qv6oqr5cVdt3dyalqr63qv50xdeXVdXHVnz9h1V15oqH\nPCfJJXuYs2dV1XXTMzdvTVIr7ntZVf3h9M9/meTbk/zedKnVe5K8NMlPTb9+5n0d24p5eUVV/U2S\nj05v37jieD9ZVaeteP7Lq+o/V9WV0+Vcl1bVY6Z3/8H031+ePv9TdnNsT66qpar6SlX9bVX9yvT2\nr1sOVVU3VNUzV9z0yKr6zenz/klVnbzLtv+xqv6sqr5UVduq6pF7mN/jp8fx5ar6dFU9f3r7piRn\nr5i/31tt31X16Kq6uKqWp/ddXFVH7TJfb6iqK5PcluTbp9/Dv5oex19X1dm7GyfA3kR4APuCpyQ5\nJMnvzrDtjyR5Q5L1Sf5w5R1VdUaSn0jyrCTHJHnmLo+9Osmv1mRJ17fuYf/fO33s6Ul+esWb2h9L\ncmaSZyR5XJIvJfnV6fN+a5IPJ/mvSRaSPCHJtbvZ91VJvrOqHlOTMwePT3JUVa2vqm9IsiHJ/5nu\n8+FJnp7k93fdyfRN/EVJfjbJY5L8ZSZnhr7OGOM7kvxNkudNl1q9KMm7k7xx+vVl93VsKzwjyfFJ\nvr+qvjnJh5L8fJIjMpnzi6pqYcX2P5Lk3yY5MpMzVj8xvf3p038fPn3+q3Yz7LckecsY41FJviPJ\n+3Z3bHvwr5K8fzqu30jyO9O53OnsJN8/3e+/zGQO72W6/e8luXQ6/v+Q5N1VdewYY2vuPX/Pm2Hf\nD0uyLZMzTd+a5PYkb93laf9NJkvg1idZTnJhkmePMdYn+e7s/u8TwF5FeAD7gsckuWmMcdfOG1b8\nNP32qnr6im1/d4xx5RjjnjHGHbvs54VJto0xPjXG+GqS1+1y/w9l8sb+/CR/XVXXVtUpu2zzc9Mz\nIn+ayZvFF01v/3dJ/tMYY8f0DMzrkvzgNCDOTnLZGOM9Y4w7xxhfHGN83RvF6XiXMnnzvZjk/2YS\nT9+TZGOS68cYX5xu/vQknxxj3LKb+XpOJkulfmuMcWeSNyf5wm62m9V9HdtOr5vOy+1JXpzkkjHG\nJdPvw+9Pj+s5K7bfNsb4i+n278skxmZ1Z6aBNsa4dYxx9f147DUr5uVXkjwyk7nd6a1jjO1jjL/P\nJGBftJt9bExyWJJfGmP8wxjjo0ku3sO2K+1239O/DxeNMW6bfj/fkEnIrfSOMcanp/8N3JXkniSP\nr6pvGGN8fozx6QDs5YQHsC/4YpLHrHyjO8b47jHG4dP7Vv6/bPt97Odxu9x/48o7xxhfGmP89Bjj\nxEyuIbk2k5+Ir7x4fdfHP27656OTfGAaQ19O8v+S3D3dz7dkctZhFlckOS2TsLgiyeWZvAl9xvTr\nnfa4zCq7HOf0Wo37mpfV3Nex7bR9l+1/aOf208c8NcljV2yzMoRuy+SN/KxekckZg+uq6uNV9dz7\n8diV83JPkh35p+/hve7Pvb+/Kz0uyfbp41du+82zPvfKfVfVuqr69aq6saq+kslys8Pr3tcorRz3\nV5P860yucfp8VX2oqo5b5bkB5k54APuCq5J8LZNlMqu5rwuiP59JBOy0p+VUGWPclOSCTN4cHrHi\nrl0f/7npn7dnsvTl8BX/PHKM8dnpfd8xw9iTrw+PK7Ln8PjQHvZxr+OchtO37GHbWdzXse00dtn+\nnbtsf+gY45dmeK5VL2gfY1w/XRJ2ZJJfTvJbVXVokq8mWbdzu+kb94VdHr5yXh6W5Kj80/fwXvfn\n3t/flT6X5Fvq3hd5f2uSnfOxp2PY075fk+TYJKdOl4/tPIO3Mnjvtc8xxv8cYzwrk5i7Lsl/38Nz\nAuw1hAew1xtjfDnJzyX5tar6wao6bHrB8xOSHHo/dvW+JC+rqhOqal2S1668s6p+uaoeX1UHV9X6\nJP8+yWdWLG9KkvOnP6E+MZNrFH5zevuWJG+oqqOn+1qoqp2h9O4kz6yqF073/Y3Tse/OH2XyJvTJ\nST42XUJzdJJTM73wuqr+RZJDxhjX7WEfH0pyYlW9YHqW6Mcy+SSwB+q+jm133pXkeVX1/VV1UFU9\ncnrh91H38ZidljNZRvTte9qgql5cVQvTMw5fnt58d5K/yOTi8R+YXofxs5lcG7TShhXz8qpMgnbl\nUq1X1uRjlY9I8jP5p+/vSn+cSeT8VFU9vCYXzj8vyXun9//tHsa/p32vz+S6ji9P73vtbh678vi/\nqaqeP42tryW5dXr8AHs14QHsE8YYb0zy6iQ/leTvMnlz9+tJNmfyZn2WfXw4k+sdPprkM9N/r7Qu\nyQcyeTP7V5m84X/+LttcMX3s/0pywRhj5y/ie0uSDya5tKpuyeTN7KnT5/2bTM5QvCbJ32eyhOvk\n7MZ0Gc2fJPn0GOMfpjdfleTGMcbfTb/+gex5mdXOszU/lOSXMlmKdkySK/e0/Qz2eGx7eP7tmZyd\n+plMQmJ7kp/MDK85Y4zbMrnG4crpMq2Nu9nsjCSfrqpbp2P74THGHWOMm5P8aJL/kcnZh69mspRq\npd/NZJnSlzK5YPsF0+s9dvqNTC4a/6vpP1/3+zim35fnJ3l2Jr/v5NeSvGRFCL4tyQnT8f/ODPt+\nc5JvmO7r6qz+EckPy+Tv0ucy+fv0jOlxA+zV6gF8TDvAAaeqvi3JXyd5+MqL3Oc0lksyuVB5j/HB\n/VdVNyQ5Z/pJXvvMvgH2Fc54AOx7Lk/yv+c9CAC4P/yGWYB9zHTZGQDsUyy1AgAA2llqBQAAtBMe\nAABAO+EBAAC0Ex4AAEA74QEAALQTHgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA74QEAALQTHgAA\nQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA74QEAALQTHgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA7\n4QEAALQTHgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA74QEAALQTHgAAQDvhAQAAtBMeAABAO+EB\nAAC0Ex4AAEA74QEAALQTHgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA74QEAALQTHgAAQDvhAQAA\ntBMeAABAO+EBAAC0Ex4AAEA74QEAALQTHgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA74QEAALQT\nHgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA74QEAALQTHgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4A\nAEA74QEAALQTHgAAQDvhAQAAtBMeAABAO+EBAAC0Ex4AAEA74QEAALQTHgAAQLuDV9ugqjYl2ZQk\nhx566IbjjjuufVAA9LnmmmtuGmMszOv5va4A7F9mfV2pMcbMO11cXBxLS0sPamAAzFdVXTPGWJz3\nOBKvKwD7g1lfVyy1AgAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAA\nAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA\n2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJ\nDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8A\nAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACg\nnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3w\nAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAA\nANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADa\nCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkP\nAACgnfAAAADaCQ8AAKDdquFRVZuqaqmqlpaXl9diTAAAwH5m1fAYY2wdYyyOMRYXFhbWYkwA7Mf8\nQAvgwGSpFQBryg+0AA5MwgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAA\ngHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2\nwgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsID\nAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAA\naCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgn\nPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwA\nAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACA\ndsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbC\nAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMA\nAGgnPAAAgHbCAwAAaCc8AACAdquGR1VtqqqlqlpaXl5eizEBAAD7mVXDY4yxdYyxOMZYXFhYWIsx\nAQAA+xlLrQBYU86kAxyYhAcAa8qZdIADk/AAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACg\nnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3w\nAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAA\nANoJDwAAoJ3wAAAA2gkPAACgnfAAAADaCQ8AAKCd8AAAANoJDwAAoJ3wAAAA2gkPAACgnfAAAADa\nCQ8AAKCd8AAAANoJDwAAoJ3wgPvw8pe/PEceeWQe//jHz3soAAD7NOEB9+FlL3tZPvKRj8x7GAAA\n+zzhwQHnzDPPzIYNG3LiiSdm69atufHGG3PMMcfkpptuyj333JOnPe1pufTSS5MkT3/603PEEUfM\necQA7A/uuOOOPPnJT87JJ5+cE088Ma997WvnPSRYUwfPewCw1t7+9rfniCOOyO23355TTjklZ511\nVjZv3pzzzjsvp556ak444YScfvrp8x4mAPuZQw45JB/96Edz2GGH5c4778xTn/rUPPvZz87GjRvn\nPTRYE854cMC58MILc/LJJ2fjxo3Zvn17rr/++pxzzjm55ZZbsmXLllxwwQXzHiIA+5BZz6RXVQ47\n7LAkyZ133pk777wzVTXn0cPaccaDA8rll1+eyy67LFdddVXWrVuX0047LXfccUduu+227NixI0ly\n6623Zv369XMeKQD7ivtzJv3uu+/Ohg0b8pnPfCavfOUrc+qpp8559LB2nPHggHLzzTfn0Y9+dNat\nW5frrrsuV199dZJk8+bNOfvss/P6178+55577pxHCcC+5P6cST/ooINy7bXXZseOHfnYxz6WT33q\nU3McOawt4cEB5Ywzzshdd92Vk046Keeff342btyYK664Ih//+Mf/MT4e8YhHZNu2bUmSF73oRXnK\nU56SP//zP89RRx2Vt73tbXM+AgD2JivPpH/yk5/ME5/4xN2eSd/V4YcfntNOO80nJ3JAsdSKA8oh\nhxySD3/4w193+8pPFvnt3/7tf/zze97znjUZFwD7ptXOpB999NE599xzc/HFF2d5eTkPf/jDc/jh\nh+f222/PZZddls2bN8/5CGDtCA8AgAfojDPOyJYtW3LSSSfl2GOPvdeZ9CuvvDIHHXRQLrroomzb\nti0bNmzIS1/60tx9992555578sIXvjDPfe5z530IsGZqjDHzxouLi2NpaalxOAB0q6prxhiL8x5H\n4nUFYH8w6+uKazwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAA\ngHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2\nwgMAAGgnPAAAgHbCAwAAaCc8AACAdsIDAABoJzwAAIB2wgMAAGgnPAAAgHbCAwAAaCc8AACAdsID\n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\n",
"text/plain": [
"<Figure size 864x864 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from matplotlib.gridspec import GridSpec\n",
"def make_ticklabels_invisible(fig):\n",
" for i, ax in enumerate(fig.axes):\n",
" ax.text(0.5, 0.5, \"ax%d\" % (i+1), va=\"center\", ha=\"center\")\n",
" ax.tick_params(labelbottom=False, labelleft=False)\n",
"\n",
"\n",
"fig = plt.figure(figsize=(12,12))\n",
"\n",
"fig.suptitle(\"GridSpec w/ different subplotpars\")\n",
"\n",
"gs1 = GridSpec(4, 4)\n",
"gs1.update(left=0.05, right=0.48, wspace=0.05)\n",
"ax1 = plt.subplot(gs1[:-1, :])\n",
"ax2 = plt.subplot(gs1[-1, :])\n",
"\n",
"\n",
"gs2 = GridSpec(4, 4)\n",
"gs2.update(left=0.52, right=0.95, hspace=0.05)\n",
"ax3 = plt.subplot(gs2[:-1, :])\n",
"ax4 = plt.subplot(gs2[-1, :])\n",
"\n",
"\n",
"\n",
"make_ticklabels_invisible(fig)\n",
"\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAAWYCAYAAACrp2cmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3W+o1gf9//H39dMWc3+YoquGzVMh\nTo/zz86xc4Ks1Q0x6IabFplB2XQZ3SgiOLdGsDtFLNqMgQjpjQYNakRjtWFqOjBlnuMURikG7eBZ\ndyY0pzvKdH6+N4JBfI98r2t7+fscx+MBg934XPC6br157vroOk3TFAAAAO/f/2t7AAAAwAeFwAIA\nAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAEDIzF4enjt3btPX13edpgBw\nIxobGzvbNM28tnekuHUATKXbe9dTYPX19dXo6Oh7XwXAB06n0xlve0OSWwfAVLq9d14RBAAACBFY\nAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGAB\nAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUA\nABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAA\nQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAA\nIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACE\nCCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAi\nsAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjA\nAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQIL\nAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwA\nAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAA\nAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAA\nCBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAg\nRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQ\ngQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIE\nFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFY\nAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGAB\nAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUA\nABAisAAAAEIEFgR8+9vfrjvvvLOWLl3a9hQAuC7OnDlTX/jCF2rx4sXV399fTzzxRNuTYFoSWBDw\nrW99q1544YW2ZwDAdTNz5sz6+c9/Xn//+9/ryJEj9eSTT9bf/va3tmfBtCOw4BrWrVtXAwMD1d/f\nXzt37qzx8fFauHBhnT17tq5evVqrV6+uPXv2VFXV5z73uZozZ07LiwGgd93eu4997GN13333VVXV\nbbfdVosXL67XXnut5fUw/cxsewBMV7t27ao5c+bUxYsXa9WqVbV+/foaGRmpbdu21dDQUC1ZsqTW\nrFnT9kwAeF/ey7179dVX6+WXX66hoaGWVsP0JbDgGrZv316///3vq+o/752fPn26tmzZUr/97W9r\nx44ddfz48ZYXAsD71+u9u3DhQq1fv74ef/zxuv3229uYDNOawIIpHDhwoPbu3VuHDx+uWbNm1f33\n31+XLl2qycnJmpiYqKr/HJjbbrut5aUA8N71eu8uX75c69evr02bNtWDDz7Y5nSYtgQWTOHcuXM1\ne/bsmjVrVp08ebKOHDlSVVUjIyO1adOmWrBgQW3durWee+65lpcCwHvXy71rmqYeeuihWrx4cf3w\nhz9seTlMX/6SC5jC2rVr68qVK7Vs2bJ65JFHanh4uA4ePFhHjx599+jcdNNNtXv37qqq2rhxY33m\nM5+pU6dO1fz58+tXv/pVy98AAP5vvdy7Q4cO1a9//evav39/rVixolasWFF/+tOf2v4KMO10mqbp\n+uHBwcFmdHT0Os4B4EbT6XTGmqYZbHtHilsHwFS6vXd+wQIAAAgRWAAAACECCwAAIERgAQAAhAgs\nAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAA\nAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIA\nAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAA\nIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACA\nEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABC\nBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgR\nWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERg\nAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEF\nAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYA\nAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAA\nACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAA\nhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQ\nIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECI\nwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACEC\nCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgs\nAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAA\nAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAEBIp2ma\n7h/udF6vqvHrNweAG9CCpmnmtT0ixa0D4Bq6unc9BRYAAADX5hVBAACAEIEFAAAQIrAAAABCBBYA\nAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAA\nACECCwAAIGRmLw/PnTu36evru05TALgRjY2NnW2aZl7bO1LcOgCm0u296ymw+vr6anR09L2vAuAD\np9PpjLe9IcmtA2Aq3d47rwgCAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQIL\nAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwA\nAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAA\nAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQXv06VLl+rTn/50LV++vPr7++vH\nP/5x25MA4Lp55513auXKlfXlL3+57SkwLc1sewDc6D784Q/X/v3769Zbb63Lly/XZz/72frSl75U\nw8PDbU8DgLgnnniiFi9eXG+++WbbU2Ba8gsWXMO6detqYGCg+vv7a+fOnTU+Pl4LFy6ss2fP1tWr\nV2v16tW1Z8+e6nQ6deutt1ZV1eXLl+vy5cvV6XRaXg8A3en23lVVTUxM1B//+MfasmVLy6th+vIL\nFlzDrl27as6cOXXx4sVatWpVrV+/vkZGRmrbtm01NDRUS5YsqTVr1lTVf16XGBgYqH/84x/1ve99\nr4aGhlpeDwDd6eXe/eAHP6if/exndf78+ZZXw/TlFyy4hu3bt9fy5ctreHi4zpw5U6dPn64tW7bU\n+fPna8eOHfXYY4+9++yMGTPq+PHjNTExUS+99FK98sorLS4HgO51e++ee+65uvPOO2tgYKDlxTC9\nCSyYwoEDB2rv3r11+PDhOnHiRK1cubIuXbpUk5OTNTExUVVVFy5c+F+fu+OOO+r++++vF1544f/3\nZADoWS/37tChQ/Xss89WX19ffe1rX6v9+/fXN77xjTbnw7QksGAK586dq9mzZ9esWbPq5MmTdeTI\nkaqqGhkZqU2bNtWjjz5aW7duraqq119/vd54442qqrp48WLt3bu37rnnnta2A0C3erl3P/nJT2pi\nYqJeffXVevrpp+uLX/xiPfXUU23Oh2nJn8GCKaxdu7Z27NhRy5Ytq0WLFtXw8HAdPHiwjh49WocO\nHaoZM2bUM888U7t3766BgYH65je/We+8805dvXq1vvrVr/qrawG4IfRy7zZv3tz2XLghdJqm6frh\nwcHBZnR09DrOAeBG0+l0xpqmGWx7R4pbB8BUur13XhEEAAAIEVgAAAAhAgsAACBEYAEAAIQILAAA\ngBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAA\nQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAI\nEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACCk\n0zRN9w93Oq9X1fj1mwPADWhB0zTz2h6R4tYBcA1d3bueAgsAAIBr84ogAABAiMACAAAIEVgAAAAh\nAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQI\nLAAAgBCBBQAAEDKzl4fnzp3b9PX1XacpANyIxsbGzjZNM6/tHSluHQBT6fbe9RRYfX19NTo6+t5X\nAfCB0+l0xtvekOTWATCVbu+dVwQBAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACA\nEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABC\nBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgR\nWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERg\nAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEF\nAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYA\nAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAA\nACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAA\nhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQ\nIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECI\nwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACEC\nCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgs\nAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAA\nAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIA\nAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAA\nIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACA\nEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABC\nBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAX19fXXvvffWihUranBwsO05AHBd\nvPHGG7Vhw4a65557avHixXX48OG2J8G0M7PtAfBB8Ze//KXmzp3b9gwAuG6+//3v19q1a+t3v/td\nvf322zU5Odn2JJh2/IIF17Bu3boaGBio/v7+2rlzZ42Pj9fChQvr7NmzdfXq1Vq9enXt2bOn7ZkA\n8L50e+/efPPNevHFF+uhhx6qqqqbbrqp7rjjjpbXw/TjFyy4hl27dtWcOXPq4sWLtWrVqlq/fn2N\njIzUtm3bamhoqJYsWVJr1qypqqpOp1Nr1qypTqdT3/nOd+rhhx9ueT0AdKfbe3f8+PGaN29ebd68\nuU6cOFEDAwP1xBNP1C233NL2V4BpxS9YcA3bt2+v5cuX1/DwcJ05c6ZOnz5dW7ZsqfPnz9eOHTvq\nsccee/fZQ4cO1bFjx+r555+vJ598sl588cUWlwNA97q9d1euXKljx47Vd7/73Xr55ZfrlltuqZ/+\n9Kctr4fpR2DBFA4cOFB79+6tw4cP14kTJ2rlypV16dKlmpycrImJiaqqunDhwrvP33XXXVVVdeed\nd9YDDzxQL730Uiu7AaAXvdy7+fPn1/z582toaKiqqjZs2FDHjh1rbTtMVwILpnDu3LmaPXt2zZo1\nq06ePFlHjhypqqqRkZHatGlTPfroo7V169aqqnrrrbfq/Pnz7/77nj17aunSpa1tB4Bu9XLvPvrR\nj9bHP/7xOnXqVFVV7du3r5YsWdLadpiu/BksmMLatWtrx44dtWzZslq0aFENDw/XwYMH6+jRo3Xo\n0KGaMWNGPfPMM7V79+76/Oc/Xw888EBV/ef1ia9//eu1du3alr8BAPzferl3mzdvrl/+8pe1adOm\nevvtt+uTn/xk7d69u+2vANNOp2marh8eHBxsRkdHr+McAG40nU5nrGmaD8z/AM6tA2Aq3d47rwgC\nAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUA\nABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAA\nQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAA\nIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACE\nCCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAi\nsAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjA\nAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQIL\nAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwA\nAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAA\nAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAA\nCBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAg\nRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQ\ngQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIE\nFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFY\nAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGAB\nAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUA\nABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAA\nQIjAAgAACBFYAAAAIQILAAAgpNM0TfcPdzqvV9X49ZsDwA1oQdM089oekeLWAXANXd27ngILAACA\na/OKIAAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAA\nCBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAys5eH586d2/T19V2nKQDciMbGxs42TTOv7R0p\nbh0AU+n23vUUWH19fTU6OvreVwHwgdPpdMbb3pDk1gEwlW7vnVcEAQAAQgQWAABAiMACAAAIEVgA\nAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEA\nAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAA\nECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABA\niMCC9+nUqVO1YsWKd/+5/fbb6/HHH297FgDE/eIXv6j+/v5aunRpbdy4sS5dutT2JJh2BBa8T4sW\nLarjx4/X8ePHa2xsrGbNmlUPPPBA27MAIOq1116r7du31+joaL3yyiv1zjvv1NNPP932LJh2BBZc\nw7p162pgYKD6+/tr586dNT4+XgsXLqyzZ8/W1atXa/Xq1bVnz57/+sy+ffvqU5/6VC1YsKCl1QDQ\nm17u3ZUrV+rixYt15cqVmpycrLvuuqvl9TD9zGx7AExXu3btqjlz5tTFixdr1apVtX79+hoZGalt\n27bV0NBQLVmypNasWfNfn3n66adr48aNLS0GgN71cu9+9KMf1d13310333xzrVmz5n/dQcAvWHBN\n27dvr+XLl9fw8HCdOXOmTp8+XVu2bKnz58/Xjh076rHHHvuv599+++169tln6ytf+UpLiwGgd93e\nu3//+9/1hz/8of75z3/Wv/71r3rrrbfqqaeeank9TD8CC6Zw4MCB2rt3bx0+fLhOnDhRK1eurEuX\nLtXk5GRNTExUVdWFCxf+6zPPP/983XffffWRj3ykjckA0LNe7t3evXvrE5/4RM2bN68+9KEP1YMP\nPlh//etf25wP05JXBGEK586dq9mzZ9esWbPq5MmTdeTIkaqqGhkZqU2bNtWCBQtq69at9dxzz737\nmd/85jdeDwTghtLLvbv77rvryJEjNTk5WTfffHPt27evBgcHW/4GMP34BQumsHbt2rpy5UotW7as\nHnnkkRoeHq6DBw/W0aNH3z06N910U+3evbuqqiYnJ+vPf/5zPfjggy0vB4Du9XLvhoaGasOGDXXf\nfffVvffeW1evXq2HH3647a8A006naZquHx4cHGxGR0ev4xwAbjSdTmesaZoPzH/GdusAmEq3984v\nWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERg\nAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEF\nAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYA\nAECIwAIAAAgRWAAAACECCwC6sivoAAAQ9ElEQVQAIERgAQAAhHSapun+4U7n9aoav35zALgBLWia\nZl7bI1LcOgCuoat711NgAQAAcG1eEQQAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAA\nAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCZvby8Ny5c5u+\nvr7rNAWAG9HY2NjZpmnmtb0jxa0DYCrd3rueAquvr69GR0ff+yoAPnA6nc542xuS3DoAptLtvfOK\nIAAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFY\nAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGAB\nAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUA\nABAisAAAAEIEFgAAQIjAAgDgf9q7n9CuCz+O4+9vraBRB0dNBEkvy3TDCieug1bILIjKEoqxg+Yf\n2KFr7BAdCiK7RHkSI2PngRZIDTHQICaloSFo7OSfkHJWkqhB+P1d+kk/cr/ftJd+Z7/H4/jlw3h9\nD/LmyT4qECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAA\nQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAI\nEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBE\nYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCB\nBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQW\nAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgA\nAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEA\nAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAA\nECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABA\niMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAh\nAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQI\nLAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKw\nAAAAQgQWAABAiMACAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMAC\nAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAECKwAAAAQgQWAABAiMACAAAIEVgAAAAhAgsA\nACBEYEHA+++/Xz09PdXd3V3vvfdeq+cAQMz69eurs7Ozenp6/uPzn376qfr7+6urq6v6+/vr559/\nbtFCmFkEFvxNR44cqQ8++KC++uqrOnz4cO3atasmJiZaPQsAItatW1djY2N/+Xzz5s21cuXKmpiY\nqJUrV9bmzZtbsA5mHoEFU1i9enUtWbKkuru7a9u2bXX8+PHq6uqqycnJunz5ci1fvrx2795dR48e\nrb6+vmpvb6+2trZ67LHHaufOna2eDwBTmu6Nq6pasWJFdXR0/OVnfPLJJ7V27dqqqlq7dm19/PHH\nN/U7wEzV1uoBMFNt3769Ojo66uLFi7V06dJas2ZNDQ8P19DQUC1btqwWLVpUq1atqqNHj9Zrr71W\nZ8+erbvuuqs+/fTT6u3tbfV8AJjSdG/cf/PDDz/UnDlzqqpqzpw59eOPP96M6TDjCSyYwpYtW678\nJurkyZM1MTFRGzdurNHR0dq6dWsdOnSoqqoWLlxYw8PD1d/fX3fffXc99NBD1dbmjxYAM9d0bxxw\n7bwiCFexd+/e2rNnT42Pj9fhw4frkUceqUuXLtWFCxfq1KlTVVV1/vz5K89v2LChvvnmm/riiy+q\no6Ojurq6WjUdAP6ra71xU5k9e3adPn26qqpOnz5dnZ2dN3Q33CoEFlzFuXPnatasWdXe3l7Hjh2r\n/fv3V1XV8PBwDQ4O1ptvvlmbNm268vy/X4s4ceJE7dixowYGBlqyGwD+l2u9cVN59tlna2RkpKqq\nRkZG6rnnnruhu+FW0Wg2m9N+uLe3t3ngwIEbOAdmht9++61Wr15d33//fS1YsKDOnDlTTzzxRH32\n2Wf15Zdf1u23314vvPBCPfPMM/Xyyy/X8uXL6+zZs3XHHXfUu+++WytXrmz1V4CbptFoHGw2m/+Y\nv3jo1vFPd603bmBgoPbu3VuTk5M1e/bseuONN2rDhg119uzZevHFF+vEiRN1//331+jo6FX/MQz4\np5juvRNYAPwtAguA/wfTvXdeEQQAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABC\nBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgR\nWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERg\nAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEF\nAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYA\nAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAA\nACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAA\nhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQ\nIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECI\nwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACEC\nCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgs\nAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAA\nAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIA\nAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAA\nIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACA\nEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABC\nBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgR\nWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAEBIo9lsTv/hRuNMVR2/cXMAuAXN\nazab97V6RIpbB8AUpnXvrimwAAAAmJpXBAEAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACE\nCCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAICQtmt5+N57\n723Onz//Bk0B4FZ08ODByWazeV+rd6S4dQBczXTv3TUF1vz58+vAgQPXvwqAf5xGo3G81RuS3DoA\nrma6984rggAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACEC\nCwAAIERgAQAAhAgsAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgs\nAACAEIEFAAAQIrAAAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgAQAAhAgsAACAEIEFAAAQIrAA\nAABCBBYAAECIwAIAAAgRWAAAACECCwAAIERgwXVav359dXZ2Vk9Pz398Pjo6Wt3d3XXbbbfVgQMH\nWrQOAP6+qW7dq6++Wg8++GAtXry4nn/++frll19atBBmHoEF12ndunU1Njb2l897enpqx44dtWLF\nihasAoCcqW5df39/HTlypL799tt64IEH6u23327BOpiZBBb8yerVq2vJkiXV3d1d27Ztq+PHj1dX\nV1dNTk7W5cuXa/ny5bV79+6qqlqxYkV1dHT85WcsXLiwFixYcLOnA8C0JG7dqlWrqq2traqq+vr6\n6tSpUzf1O8BM1tbqATCTbN++vTo6OurixYu1dOnSWrNmTQ0PD9fQ0FAtW7asFi1aVKtWrWr1TAC4\nbulbt3379nrppZdu4GK4tQgs+JMtW7bUzp07q6rq5MmTNTExURs3bqzR0dHaunVrHTp0qMULAeDv\nSd66t956q9ra2mpwcPBGzYVbjsCCP+zdu7f27NlT4+Pj1d7eXo8//nhdunSpLly4cOXVh/Pnz9c9\n99zT4qUAcH2St25kZKR27dpVn3/+eTUajRs9HW4ZAgv+cO7cuZo1a1a1t7fXsWPHav/+/VVVNTw8\nXIODgzVv3rzatGlT7dq1q8VLAeD6pG7d2NhYvfPOO7Vv375qb2+/GdPhluEfuYA/PPXUU/X777/X\n4sWL6/XXX6++vr7at29fff3111cOz5133lkfffRRVVUNDAzUo48+Wt99913NnTu3Pvzww6qq2rlz\nZ82dO7fGx8fr6aefrieffLKVXwsArkjduldeeaV+/fXX6u/vr4cffriGhoZa+bVgRmk0m81pP9zb\n29v0//oA8GeNRuNgs9nsbfWOFLcOgKuZ7r3zGywAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFY\nAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGAB\nAACECCwAAIAQgQUAABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUA\nABAisAAAAEIEFgAAQIjAAgAACBFYAAAAIQILAAAgRGABAACECCwAAIAQgQUAABAisAAAAEIazWZz\n+g83Gmeq6viNmwPALWhes9m8r9UjUtw6AKYwrXt3TYEFAADA1LwiCAAAECKwAAAAQgQWAABAiMAC\nAAAIEVgAAAAhAgsAACBEYAEAAIQILAAAgBCBBQAAEPIvfAIoKdw3Ob8AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 864x1440 with 12 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.gridspec as gridspec\n",
"def make_ticklabels_invisible(fig):\n",
" for i, ax in enumerate(fig.axes):\n",
" ax.text(0.5, 0.5, \"ax%d\" % (i+1), va=\"center\", ha=\"center\")\n",
" ax.tick_params(labelbottom=False, labelleft=False,bottom=False,left=False)\n",
"\n",
"\n",
"f = plt.figure(figsize = (12,20))\n",
"n=4.5\n",
"gs = gridspec.GridSpec(6, 2,\n",
" width_ratios=[1, 1], height_ratios=[n, 1,n,1,n,1])\n",
"\n",
"ax1 = plt.subplot(gs[0])\n",
"ax2 = plt.subplot(gs[1])\n",
"ax3 = plt.subplot(gs[2])\n",
"ax4 = plt.subplot(gs[3])\n",
"ax5 = plt.subplot(gs[4])\n",
"ax6 = plt.subplot(gs[5])\n",
"ax7 = plt.subplot(gs[6])\n",
"ax8 = plt.subplot(gs[7])\n",
"ax9 = plt.subplot(gs[8])\n",
"ax10 = plt.subplot(gs[9])\n",
"ax11 = plt.subplot(gs[10])\n",
"ax12 = plt.subplot(gs[11])\n",
"\n",
"make_ticklabels_invisible(f)\n",
"plt.tight_layout(w_pad=4.5,h_pad = 1)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Help on class GridSpec in module matplotlib.gridspec:\n",
"\n",
"class GridSpec(GridSpecBase)\n",
" | A class that specifies the geometry of the grid that a subplot\n",
" | will be placed. The location of grid is determined by similar way\n",
" | as the SubplotParams.\n",
" | \n",
" | Method resolution order:\n",
" | GridSpec\n",
" | GridSpecBase\n",
" | builtins.object\n",
" | \n",
" | Methods defined here:\n",
" | \n",
" | __getstate__(self)\n",
" | \n",
" | __init__(self, nrows, ncols, figure=None, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None, width_ratios=None, height_ratios=None)\n",
" | The number of rows and number of columns of the grid need to be set.\n",
" | Optionally, the subplot layout parameters (e.g., left, right, etc.)\n",
" | can be tuned.\n",
" | \n",
" | Parameters\n",
" | ----------\n",
" | nrows : int\n",
" | Number of rows in grid.\n",
" | \n",
" | ncols : int\n",
" | Number or columns in grid.\n",
" | \n",
" | Notes\n",
" | -----\n",
" | See `~.figure.SubplotParams` for descriptions of the layout parameters.\n",
" | \n",
" | __setstate__(self, state)\n",
" | \n",
" | get_subplot_params(self, figure=None, fig=None)\n",
" | Return a dictionary of subplot layout parameters. The default\n",
" | parameters are from rcParams unless a figure attribute is set.\n",
" | \n",
" | locally_modified_subplot_params(self)\n",
" | \n",
" | tight_layout(self, figure, renderer=None, pad=1.08, h_pad=None, w_pad=None, rect=None)\n",
" | Adjust subplot parameters to give specified padding.\n",
" | \n",
" | Parameters\n",
" | ----------\n",
" | \n",
" | pad : float\n",
" | Padding between the figure edge and the edges of subplots, as a\n",
" | fraction of the font-size.\n",
" | h_pad, w_pad : float, optional\n",
" | Padding (height/width) between edges of adjacent subplots.\n",
" | Defaults to ``pad_inches``.\n",
" | rect : tuple of 4 floats, optional\n",
" | (left, bottom, right, top) rectangle in normalized figure\n",
" | coordinates that the whole subplots area (including labels) will\n",
" | fit into. Default is (0, 0, 1, 1).\n",
" | \n",
" | update(self, **kwargs)\n",
" | Update the current values. If any kwarg is None, default to\n",
" | the current value, if set, otherwise to rc.\n",
" | \n",
" | ----------------------------------------------------------------------\n",
" | Methods inherited from GridSpecBase:\n",
" | \n",
" | __getitem__(self, key)\n",
" | Create and return a SuplotSpec instance.\n",
" | \n",
" | get_geometry(self)\n",
" | get the geometry of the grid, e.g., 2,3\n",
" | \n",
" | get_grid_positions(self, fig, raw=False)\n",
" | return lists of bottom and top position of rows, left and\n",
" | right positions of columns.\n",