From 640f87cee80fe2ce2bade9a99bc55d5446d28adc Mon Sep 17 00:00:00 2001 From: Manish Date: Sat, 29 Jul 2023 13:10:42 +1000 Subject: [PATCH] Solution --- Data Graph Explorer.ipynb | 1250 +++++++++++++++++++++++++++++++++++++ Data Graph Explorer.md | 931 +++++++++++++++++++++++++++ output_13_0.png | Bin 0 -> 15589 bytes output_7_0.png | Bin 0 -> 40392 bytes 4 files changed, 2181 insertions(+) create mode 100644 Data Graph Explorer.ipynb create mode 100644 Data Graph Explorer.md create mode 100644 output_13_0.png create mode 100644 output_7_0.png diff --git a/Data Graph Explorer.ipynb b/Data Graph Explorer.ipynb new file mode 100644 index 0000000..1f65958 --- /dev/null +++ b/Data Graph Explorer.ipynb @@ -0,0 +1,1250 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 65, + "id": "3eda4984-69fb-4455-8fef-20790aca32ae", + "metadata": {}, + "outputs": [], + "source": [ + "#interactive matplotlib graphs\n", + "%matplotlib widget\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from ipywidgets import FileUpload\n", + "import pandas as pd\n", + "import io\n", + "import json" + ] + }, + { + "cell_type": "markdown", + "id": "0b170f8a-9538-46f1-bd10-f2fe9e1a2699", + "metadata": {}, + "source": [ + "## Upload File" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c2679573-277b-4463-af0a-bf81d3e97248", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9c9f575fc90e44499c05fd28f181f837", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "FileUpload(value=(), accept='.csv', description='Upload')" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "uploaded = FileUpload(accept=\".csv\")\n", + "display(uploaded)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "55ee739e-f545-4f5d-ad89-5f0d996b7e0b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearCSIRO Adjusted Sea LevelLower Error BoundUpper Error BoundNOAA Adjusted Sea Level
018800.000000-0.9527560.952756NaN
118810.220472-0.7322831.173228NaN
21882-0.440945-1.3464570.464567NaN
31883-0.232283-1.1299210.665354NaN
418840.590551-0.2834651.464567NaN
..................
12920098.5866148.3110248.8622058.046354
13020108.9015758.6181109.1850398.122973
13120118.9645678.6614179.2677178.053065
13220129.3267728.9921269.6614178.457058
13320138.9803158.6220479.3385838.546648
\n", + "

134 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " Year CSIRO Adjusted Sea Level Lower Error Bound Upper Error Bound \\\n", + "0 1880 0.000000 -0.952756 0.952756 \n", + "1 1881 0.220472 -0.732283 1.173228 \n", + "2 1882 -0.440945 -1.346457 0.464567 \n", + "3 1883 -0.232283 -1.129921 0.665354 \n", + "4 1884 0.590551 -0.283465 1.464567 \n", + ".. ... ... ... ... \n", + "129 2009 8.586614 8.311024 8.862205 \n", + "130 2010 8.901575 8.618110 9.185039 \n", + "131 2011 8.964567 8.661417 9.267717 \n", + "132 2012 9.326772 8.992126 9.661417 \n", + "133 2013 8.980315 8.622047 9.338583 \n", + "\n", + " NOAA Adjusted Sea Level \n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + ".. ... \n", + "129 8.046354 \n", + "130 8.122973 \n", + "131 8.053065 \n", + "132 8.457058 \n", + "133 8.546648 \n", + "\n", + "[134 rows x 5 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "for f in uploaded.value:\n", + " content = f[\"content\"]\n", + " df = pd.read_csv(io.BytesIO(content))\n", + " break\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "cd8b08d5-dff9-48ac-9f9c-fdbc3b099b1b", + "metadata": {}, + "source": [ + "## Provide CSV file URL as interactive input" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "df96980f-c032-43ba-9228-666024333d2e", + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Provide direct url of CSV file: https://github.com/jasperdebie/VisInfo/raw/master/us-state-capitals.csv\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namedescriptionlatitudelongitude
0AlabamaMontgomery32.377716-86.300568
1AlaskaJuneau58.301598-134.420212
2ArizonaPhoenix33.448143-112.096962
3ArkansasLittle Rock34.746613-92.288986
4CaliforniaSacramento38.576668-121.493629
5ColoradoDenver39.739227-104.984856
6ConnecticutHartford<br>41.764046-72.682198
7DelawareDover39.157307-75.519722
8HawaiiHonolulu21.307442-157.857376
9FloridaTallahassee30.438118-84.281296
10GeorgiaAtlanta<br>33.749027-84.388229
11IdahoBoise43.617775-116.199722
12IllinoisSpringfield39.798363-89.654961
13IndianaIndianapolis39.768623-86.162643
14IowaDes Moines41.591087-93.603729
15KansasTopeka39.048191-95.677956
16KentuckyFrankfort38.186722-84.875374
17LouisianaBaton Rouge30.457069-91.187393
18MaineAugusta44.307167-69.781693
19MarylandAnnapolis38.978764-76.490936
20MassachusettsBoston42.358162-71.063698
21MichiganLansing42.733635-84.555328
22MinnesotaSt. Paul44.955097-93.102211
23MississippiJackson32.303848-90.182106
24MissouriJefferson City38.579201-92.172935
25MontanaHelena46.585709-112.018417
26NebraskaLincoln40.808075-96.699654
27NevadaCarson City39.163914-119.766121
28New HampshireConcord43.206898-71.537994
29New JerseyTrenton40.220596-74.769913
30New MexicoSanta Fe35.682240-105.939728
31North CarolinaRaleigh35.780430-78.639099
32North DakotaBismarck46.820850-100.783318
33New YorkAlbany42.652843-73.757874
34OhioColumbus39.961346-82.999069
35OklahomaOklahoma City35.492207-97.503342
36OregonSalem44.938461-123.030403
37PennsylvaniaHarrisburg40.264378-76.883598
38Rhode IslandProvidence41.830914-71.414963
39South CarolinaColumbia34.000343-81.033211
40South DakotaPierre44.367031-100.346405
41TennesseeNashville36.165810-86.784241
42TexasAustin30.274670-97.740349
43UtahSalt Lake City40.777477-111.888237
44VermontMontpelier44.262436-72.580536
45VirginiaRichmond37.538857-77.433640
46WashingtonOlympia47.035805-122.905014
47West VirginiaCharleston38.336246-81.612328
48WisconsinMadison43.074684-89.384445
49WyomingCheyenne41.140259-104.820236
\n", + "
" + ], + "text/plain": [ + " name description latitude longitude\n", + "0 Alabama Montgomery 32.377716 -86.300568\n", + "1 Alaska Juneau 58.301598 -134.420212\n", + "2 Arizona Phoenix 33.448143 -112.096962\n", + "3 Arkansas Little Rock 34.746613 -92.288986\n", + "4 California Sacramento 38.576668 -121.493629\n", + "5 Colorado Denver 39.739227 -104.984856\n", + "6 Connecticut Hartford
41.764046 -72.682198\n", + "7 Delaware Dover 39.157307 -75.519722\n", + "8 Hawaii Honolulu 21.307442 -157.857376\n", + "9 Florida Tallahassee 30.438118 -84.281296\n", + "10 Georgia Atlanta
33.749027 -84.388229\n", + "11 Idaho Boise 43.617775 -116.199722\n", + "12 Illinois Springfield 39.798363 -89.654961\n", + "13 Indiana Indianapolis 39.768623 -86.162643\n", + "14 Iowa Des Moines 41.591087 -93.603729\n", + "15 Kansas Topeka 39.048191 -95.677956\n", + "16 Kentucky Frankfort 38.186722 -84.875374\n", + "17 Louisiana Baton Rouge 30.457069 -91.187393\n", + "18 Maine Augusta 44.307167 -69.781693\n", + "19 Maryland Annapolis 38.978764 -76.490936\n", + "20 Massachusetts Boston 42.358162 -71.063698\n", + "21 Michigan Lansing 42.733635 -84.555328\n", + "22 Minnesota St. Paul 44.955097 -93.102211\n", + "23 Mississippi Jackson 32.303848 -90.182106\n", + "24 Missouri Jefferson City 38.579201 -92.172935\n", + "25 Montana Helena 46.585709 -112.018417\n", + "26 Nebraska Lincoln 40.808075 -96.699654\n", + "27 Nevada Carson City 39.163914 -119.766121\n", + "28 New Hampshire Concord 43.206898 -71.537994\n", + "29 New Jersey Trenton 40.220596 -74.769913\n", + "30 New Mexico Santa Fe 35.682240 -105.939728\n", + "31 North Carolina Raleigh 35.780430 -78.639099\n", + "32 North Dakota Bismarck 46.820850 -100.783318\n", + "33 New York Albany 42.652843 -73.757874\n", + "34 Ohio Columbus 39.961346 -82.999069\n", + "35 Oklahoma Oklahoma City 35.492207 -97.503342\n", + "36 Oregon Salem 44.938461 -123.030403\n", + "37 Pennsylvania Harrisburg 40.264378 -76.883598\n", + "38 Rhode Island Providence 41.830914 -71.414963\n", + "39 South Carolina Columbia 34.000343 -81.033211\n", + "40 South Dakota Pierre 44.367031 -100.346405\n", + "41 Tennessee Nashville 36.165810 -86.784241\n", + "42 Texas Austin 30.274670 -97.740349\n", + "43 Utah Salt Lake City 40.777477 -111.888237\n", + "44 Vermont Montpelier 44.262436 -72.580536\n", + "45 Virginia Richmond 37.538857 -77.433640\n", + "46 Washington Olympia 47.035805 -122.905014\n", + "47 West Virginia Charleston 38.336246 -81.612328\n", + "48 Wisconsin Madison 43.074684 -89.384445\n", + "49 Wyoming Cheyenne 41.140259 -104.820236" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "url = input(\"Provide direct url of CSV file: \")\n", + "df = pd.read_csv(url)\n", + "df\n", + "# https://github.com/jasperdebie/VisInfo/raw/master/us-state-capitals.csv" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "c6bb796a-be2e-4ea8-83ac-8c99097c2f1c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n", + "[[-64.843729999672, -64.8306170004155, -64.8166740000574, -64.8003289998509, -64.7850010003439, -64.7780049999629, -64.756923000007, -64.7438040000044, -64.7376500004207, -64.7298299996841, -64.727025000328, -64.7081970000824, -64.7016040001075, -64.6832930000708, -64.6752489999265, -64.6684810000495, -64.6404370000478, -64.6391440000621, -64.643689000191, -64.6377349997255, -64.6638549997298, -64.6613010004438, -64.6642589999609, -64.6782290000832, -64.6944889999008, -64.7079069996541, -64.720173999712, -64.7487359997476, -64.7577690001039, -64.7734199996511, -64.7828909996753, -64.8012889997506, -64.7992609999961, -64.8027730004303, -64.8068909998636, -64.8185169998639, -64.8333530001747, -64.849551999893, -64.8580350004284, -64.8725339995569, -64.8897519996245, -64.8997750000177, -64.9052399998634, -64.9061510002576, -64.921034000424, -64.9337140000354, -64.9420610001283, -64.9464720003629, -64.9609639998188, -64.9804139998553, -64.9978610002517, -65.0198210000917, -65.0315650000928, -65.0485809995957, -65.0501940001468, -65.0577479998463, -65.0677319998815, -65.0809529999913, -65.10083099965, -65.1172670000931, -65.1312199995987, -65.1426220001913, -65.1477229999889, -65.154117999597, -65.1536439999441, -65.1506989999476, -65.1448089999545, -65.137688999725, -65.1399409997855, -65.1351379999137, -65.1303469997376, -65.1174269999267, -65.1130569997, -65.1137599996818, -65.112214999801, -65.1004130000736, -65.091790999621, -65.0805670002019, -65.0606650002537, -65.0415220003638, -65.0172989996944, -65.007769000119, -64.9995900002555, -64.9823889999064, -64.9691820000403, -64.950455000077, -64.9426920001401, -64.9276419995691, -64.907594999856, -64.8950240000245, -64.8910329999146, -64.8739119999314, -64.8649759996594, -64.8599500002049, -64.843729999672], [18.3937130003038, 18.3952020001978, 18.4029059996947, 18.4075949997621, 18.4038019999373, 18.386209000173, 18.3766859999062, 18.3781310002826, 18.3762170003899, 18.3779449996133, 18.3747250001871, 18.373742000052, 18.3706359999168, 18.3725669997141, 18.3674629998913, 18.3655769999245, 18.363997000316, 18.3551899997673, 18.3441069997742, 18.3197589996555, 18.2853760001861, 18.2673589997501, 18.2612709996959, 18.2523160002306, 18.2487579998992, 18.2487249997681, 18.2506900002989, 18.2630590000803, 18.2608550002774, 18.2605059997401, 18.2526930002856, 18.2451059996837, 18.2293219998289, 18.2133720003843, 18.2051629999707, 18.1920609998845, 18.1834559998114, 18.1796829999945, 18.1795870003758, 18.1834839999737, 18.1942359996752, 18.2065249995874, 18.2185139997731, 18.2241929999785, 18.2288429997134, 18.2379699999478, 18.2480099999376, 18.2572230000658, 18.2560599998827, 18.2569120001884, 18.252492999917, 18.2523549996564, 18.2562770001029, 18.2667770001428, 18.2691289998076, 18.2541629999811, 18.2439080002976, 18.2364819999318, 18.2326290001953, 18.23477199986, 18.2417569995878, 18.2507890004071, 18.2590850003178, 18.2774250002881, 18.2931389997995, 18.302844999769, 18.3128859999509, 18.3205580003919, 18.3362909997264, 18.3508549999627, 18.3615369997632, 18.3802330002905, 18.3957579996876, 18.4068750001337, 18.418827, 18.4395440001859, 18.4471019997825, 18.4528070003069, 18.4597469996518, 18.4591020001661, 18.4493229999302, 18.4407029996101, 18.4455259999609, 18.4507079999187, 18.4509469999009, 18.4462940001965, 18.4541570002839, 18.4619490000909, 18.4649839999656, 18.4633640003554, 18.4621600003593, 18.4062549996746, 18.3959270002777, 18.3942250002094, 18.3937130003038]]\n" + ] + } + ], + "source": [ + "# source: https://public.opendatasoft.com/explore/dataset/us-state-boundaries/table/\n", + "with open(\"us-state-boundaries.csv\") as f:\n", + " sb = [line.split(';')[-2] for line in f.readlines()[1:]] # state boundaries\n", + " sb = ['[['+b[b.find(\"[[[\")+3: b.find(\"]]]\")+1].strip('[').strip(']')+']]' for b in sb]\n", + "\n", + "sb2 = []\n", + "for i in range(len(sb)):\n", + " try:\n", + " sb2.append(json.loads(sb[i]))\n", + " except BaseException as e:\n", + " print(i)\n", + "\n", + "sb3 = []\n", + "for b in sb2:\n", + " x = []\n", + " y = []\n", + " for xy in b:\n", + " x.append(xy[0])\n", + " y.append(xy[1])\n", + " sb3.append([x, y])\n", + "\n", + "print(sb3[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "id": "422402ed-4ca9-44b1-9d2d-81949961af55", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "913a98642708421fb05ec33e19acd1ef", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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+yxq1KiBlStXOvRZtWjRAi+88ALef/99vPLKK6hRowYAZC4B4MiRI+jZsycGDhyIfv364YsvvkD//v1Rv3591KpVC4A0y7ds2RJnz57FM888g3LlymHjxo0YM2YMzp8/j/fee89uWXr16oU77rgDb775JpRSNve7ceMGmjdvjgMHDmDAgAG4++67cfnyZaxatQpnzpxBsWLFkJiYiM8++wx9+/bFU089hevXr+Pzzz9Hhw4dsHXrVtSrV8/snPPnz8f169cxePBgJCcnY+bMmWjTpg327NmDEiVKWC3HggUL8OSTT6JBgwZ4+umnAQCVK1cGAGzbtg0bN25Enz59EBsbixMnTmD27Nlo1aoV9u/fj0KFCtm9H/aMHz8eEyZMQLt27TBo0CAcOnQo89/Z33//jcDAQADyb6JTp04oVaoUhg4dipIlS+LAgQNYvXo1hg4dmrmPu/9usrpw4QKaNGmCW7du4YUXXkB0dDTmzZuHhx56CMuWLUO3bt3M9n/rrbfg5+eHF198EQkJCZg6dSoeffRRbNmyxe17ReQ2RVQAvP766wqAunTpktXXa9WqpVq2bJn5PC4uTsXExCgAqnr16urZZ59VixYtUvHx8VaP3759uwKgfvvtN6WUUkajUcXGxqqhQ4faLdvKlSsVALVt2zab+1y6dEkBUK+//rrFa7du3bLYtnjxYgVA/fnnn5nbpk2bpgCo48ePm+174sQJ5e/vryZPnmy2fc+ePSogICBz+z///KMAqKVLl9p9T46UccqUKcpgMKiTJ09mbuvXr58CoN544w2zfe+66y5Vv379zOfffvutAqCmTp2auS09PV01b95cAVBz587NtjxLly5VANS6dessXitfvrzFvbt48aIKDg5WI0eOzNw2ceJEFRYWpv777z+z40ePHq38/f3VqVOnMrdl/ey072Pfvn2zLadm3LhxCoBasWKFxWtGo1EpJe8/JSXF7LVr166pEiVKqAEDBmRuO378uAKgQkND1ZkzZzK3b9myRQFQw4cPtyinqbCwMNWvXz+Lclj7jDdt2qQAqPnz52duW7dunc17b2ru3Llm39eLFy+qoKAg1b59e5WRkZG534cffqgAqC+++CLzPlSsWFGVL19eXbt2zeyc2r2yVV5n/t0oJd8V03sxbNgwBUBt2LAhc9v169dVxYoVVYUKFTLLrd2DGjVqmH1mM2fOVADUnj17sr03RDmBTcDkk0qUKIFdu3bh2WefxbVr1zBnzhw88sgjKF68OCZOnGhRW7Nw4UKUKFECrVu3BiBNZQ8//DCWLFli0XSZVVRUFABg9erVSEtLc7qsoaGhmevJycm4fPlyZtP1zp077R6/YsUKGI1G9O7dG5cvX858lCxZEnfccUdmE6JWw/fLL7/g1q1bLpfx5s2buHz5Mpo0aQKlFP755x+L/Z999lmz582bN8exY8cyn//4448ICAjIrBEEAH9/fwwZMsSpctlSs2ZNNG/ePPN5TEwMqlWrZlaGpUuXonnz5ihSpIjZfWvXrh0yMjLw559/2r1O1vdpy/Lly1G3bl2LGiQAmU20/v7+mX1TjUYjrl69ivT0dNxzzz1Wvwddu3ZFmTJlMp83aNAADRs2xI8//uhQmbIy/YzT0tJw5coVVKlSBVFRUQ59D+1Zs2YNUlNTMWzYMPj56T9NTz31FCIiIjKbWf/55x8cP34cw4YNy/y3pTFtznb33401P/74Ixo0aGDWnB8eHo6nn34aJ06cwP79+832f+KJJ8z6E2vfOdPvGVFuYQBIPiNrvrNSpUph9uzZOH/+PA4dOoT3338fMTExGDduHD7//PPM/TIyMrBkyRK0bt0ax48fx5EjR3DkyBE0bNgQFy5cwO+//57tdVu2bIkePXpgwoQJKFasGLp06YK5c+ciJSXFoXJfvXoVQ4cORYkSJRAaGoqYmBhUrFgRAOz2zQOkX59SCnfccQdiYmLMHgcOHMDFixcBSB+oESNG4LPPPkOxYsXQoUMHfPTRRw5d49SpU+jfvz+KFi2a2a+vZcuWVssYEhJi0cRWpEgRXLt2LfP5yZMnUapUKYSHh5vtV61aNbtlcUS5cuUstmUtw+HDh/Hzzz9b3LN27doBQOZ9y472Odlz9OhR1K5d2+5+8+bNQ506dRASEoLo6GjExMTghx9+sPoZ3XHHHRbbqlat6nKfvaSkJIwbNy6zP2SxYsUQExOD+Ph4h74j9pw8eRKA5WccFBSESpUqZb5+9OhRALB7v9z9d2OrjNa+g1r3Aq2MmqzfsyJFigCA2feMKLewDyAVCNqgjayDDjS3bt2yOVLTYDCgatWqqFq1Kjp27Ig77rgDCxcuxJNPPgkAWLt2Lc6fP48lS5ZgyZIlFscvXLgQ7du3t1k2g8GAZcuWYfPmzfj+++/xyy+/YMCAAZg+fTo2b95sEeRk1bt3b2zcuBGjRo1CvXr1EB4eDqPRiPvvv99iMII1RqMRBoMBP/30E/z9/S1eN73+9OnT0b9/f3z33Xf49ddf8cILL2DKlCnYvHkzYmNjrZ4/IyMD9913H65evYqXX34Z1atXR1hYGM6ePYv+/ftblNFaGXKarTKY1vwajUbcd999eOmll6zuW7VqVbvXMa2FctdXX32F/v37o2vXrhg1ahSKFy8Of39/TJkyJTMo8qYhQ4Zg7ty5GDZsGBo3bozIyEgYDAb06dPHoe9hTnP3340nOPI9I8otDACpQChfvjwAydtVtmxZs9du3bqF06dPZxukaSpVqoQiRYrg/PnzmdsWLlyI4sWL46OPPrLYf8WKFVi5ciXmzJlj98e+UaNGaNSoESZPnoxFixbh0UcfxZIlS/Dkk0/anI3h2rVr+P333zFhwgSMGzcuc/vhw4ct9rV1jsqVK0MphYoVKzoUtNx555248847MXbsWGzcuBFNmzbFnDlzMGnSJKv779mzB//99x/mzZuH//3vf5nbf/vtN7vXsqV8+fL4/fffcePGDbMA9dChQw4d74nZLSpXrowbN25k1vh5U+XKlS1G6Ga1bNkyVKpUCStWrDB7f7ZSEVn7jvz333+oUKFCttexde+WLVuGfv36Yfr06ZnbkpOTPZZ30vTfcKVKlTK3p6am4vjx45mfgzYoZe/evTY/G0/8u7FVRmvfwYMHD5q9B6L8gE3AVCC0bdsWQUFBmD17tsVf95988gnS09PxwAMPZG7bsmULbt68aXGerVu34sqVK5nNPElJSVixYgU6deqEnj17Wjyef/55XL9+HatWrbJZtmvXrln8xa+N2NSagbURlFl/TLUahKzHWxuBquWYy3qO7t27w9/fHxMmTLA4j1IqMy1GYmIi0tPTzV6/88474efnl21ztbUyKqXMUnI468EHH0R6ejpmz56duS0jIwMffPCBQ8fbuhfO6N27NzZt2oRffvnF4rX4+HiLe+WOHj16YNeuXVi5cqXFa9p9tXaft2zZgk2bNlk957fffouzZ89mPt+6dSu2bNli9u/AmrCwMKv3zd/f3+L788EHH9jtA+uodu3aISgoCO+//77ZdT7//HMkJCSgY8eOAIC7774bFStWxHvvvWdRzuzuFeDcvxtrHnzwQWzdutXsnt+8eROffPIJKlSogJo1a9o9B1FewRpAKhCKFy+OcePGYezYsWjRogUeeughFCpUCBs3bsTixYvRvn17dO7cOXP/BQsWYOHChejWrRvq16+PoKAgHDhwAF988QVCQkLwyiuvAABWrVqF69ev46GHHrJ63UaNGiEmJgYLFy7Eww8/bHWfefPmYdasWejWrRsqV66M69ev49NPP0VERAQefPBBANJUWLNmTXz99deoWrUqihYtitq1a6N27dpo0aIFpk6dirS0NJQpUwa//vorjh8/bnGd+vXrAwBeffVV9OnTB4GBgejcuTMqV66MSZMmYcyYMThx4gS6du2KwoUL4/jx41i5ciWefvppvPjii1i7di2ef/559OrVC1WrVkV6ejoWLFgAf39/9OjRw+a9r169OipXrowXX3wRZ8+eRUREBJYvX+5WP6fOnTujadOmGD16NE6cOIGaNWtixYoVDvfdqlevHvz9/fH2228jISEBwcHBaNOmDYoXL+5wGUaNGoVVq1ahU6dOmSlibt68iT179mDZsmU4ceJEZtoQd40aNQrLli1Dr169MGDAANSvXx9Xr17FqlWrMGfOHNStWxedOnXCihUr0K1bN3Ts2BHHjx/HnDlzULNmTatTF1apUgXNmjXDoEGDkJKSgvfeew/R0dE2m7Q19evXx5o1a/Duu++idOnSqFixIho2bIhOnTphwYIFiIyMRM2aNbFp0yasWbMG0dHRHrkHMTExGDNmDCZMmID7778fDz30EA4dOoRZs2bh3nvvxWOPPQYA8PPzw+zZs9G5c2fUq1cPTzzxBEqVKoWDBw9i3759+OWXXxAREeH2vxtrSbtHjx6NxYsX44EHHsALL7yAokWLYt68eTh+/DiWL19uNniFKM/L6WHHRN701VdfqUaNGqmwsDAVHBysqlevriZMmKCSk5PN9tu9e7caNWqUuvvuu1XRokVVQECAKlWqlOrVq5fauXNn5n6dO3dWISEh6ubNmzav2b9/fxUYGKguX75s9fWdO3eqvn37qnLlyqng4GBVvHhx1alTJ7V9+3az/TZu3Kjq16+vgoKCzNKKnDlzRnXr1k1FRUWpyMhI1atXL3Xu3DmraWMmTpyoypQpo/z8/CxSWyxfvlw1a9ZMhYWFqbCwMFW9enU1ePBgdejQIaWUUseOHVMDBgxQlStXViEh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5GMYABIRERH5GAaARERERD6GASARERGRj2EASERERORjGAASERER+RgGgEREREQ+hgEgERERkY9hAEhERETkYxgAEhEREfkYBoBEREREPoYBIBEREZGPYQBIRERE5GMYABIRERH5GAaARERERD6GASARERGRjwnI7QJQNjIygA0bgPPngVKlgObNAX//3C4VERER5XMMAPOqFSuAoUOBM2f0bbGxwMyZQPfuuVcuIiIiyvfYBJwXrVgB9OxpHvwBwNmzsn3FitwpFxERERUIDADzmowMqflTyvI1bduwYbIfERERkQsYAOY1GzZY1vyZUgo4fVr2IyIiInIBA8C85vx5z+5HRERElAUDwLymVCnP7kdERESUBQPAvKZ5cxntazBYf91gAMqWlf2IiIiIXMAAMK/x95dUL4BlEKg9f+895gMkIiIilzEAzIu6dweWLQPKlDHfHhsr25kHkIiIiNzARNB5VffuQJcunAmEiIiIPK7A1gBOmTIF9957LwoXLozixYuja9euOHTokNk+ycnJGDx4MKKjoxEeHo4ePXrgwoULuVRiK/z9gVatgL59ZZlN8BcXByxdCly5kmOlIyIionyqwAaAf/zxBwYPHozNmzfjt99+Q1paGtq3b4+bN29m7jN8+HB8//33WLp0Kf744w+cO3cO3fNh86rRCLRtC/TuDdSuDcyZk9slIiIiorzMoJS1KScKnkuXLqF48eL4448/0KJFCyQkJCAmJgaLFi1Cz549AQAHDx5EjRo1sGnTJjRq1MjuORMTExEZGYmEhARERER4+y3YdPo0UK6c5faMDMCvwIb4RERErskrv9+5yWfCg4SEBABA0aJFAQA7duxAWloa2rVrl7lP9erVUa5cOWzatMnqOVJSUpCYmGj2yAuKFLG+3daMckREROTbfCIANBqNGDZsGJo2bYratWsDAOLi4hAUFISoqCizfUuUKIG4uDir55kyZQoiIyMzH2XLlvV20R2ybp0s/fyA48eBsWPl+YcfArNm5V65iIiIKG/yiQBw8ODB2Lt3L5YsWeLWecaMGYOEhITMx+nTpz1UQve8/roshw0DKlQAJk4ERoyQbc8/L30EiYiIiDQFPgB8/vnnsXr1aqxbtw6xsbGZ20uWLInU1FTEx8eb7X/hwgWULFnS6rmCg4MRERFh9sgLtJZo08lBnnsOCAqS9e+/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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axis = plt.subplots()\n", + "x_col = \"longitude\"\n", + "y_col = \"latitude\"\n", + "xlo = df[x_col].min() - 5\n", + "xhi = df[x_col].max() + 5\n", + "ylo = df[y_col].min() - 5\n", + "yhi = df[y_col].max() + 5\n", + "\n", + "x = df[x_col].to_numpy()\n", + "y = df[y_col].to_numpy()\n", + "\n", + "plt.axis([xlo, xhi, ylo, yhi])\n", + "plt.plot(x, y, \"ro\")\n", + "for b in sb3:\n", + " plt.plot(b[0], b[1], \"b\")\n", + "plt.title(\"USA states and their capital location\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "47995e7b-d2dc-4c9d-bf70-ee6c791c6f94", + "metadata": {}, + "source": [ + "## Edit CSV file URL variable" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "id": "d5418a6b-4b81-4523-90f1-1ab328f6adfa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearMacquarie Island MAXMacquarie Island MINMawson MAXMawson MINCasey MAXCasey MINDavis MAXDavis MIN
01948NaNNaNNaNNaNNaNNaNNaNNaN
11949NaNNaNNaNNaNNaNNaNNaNNaN
219506.0502.625NaNNaNNaNNaNNaNNaN
319516.1002.660NaNNaNNaNNaNNaNNaN
419526.1402.660NaNNaNNaNNaNNaNNaN
..............................
6320116.7403.200-8.04-14.28-5.86-12.50-7.00-12.98
6420126.8403.260-8.24-14.40-6.28-12.96-7.10-13.08
6520136.8253.225-8.10-14.30-6.30-12.90-7.05-13.05
662014NaNNaNNaNNaNNaNNaNNaNNaN
672015NaNNaNNaNNaNNaNNaNNaNNaN
\n", + "

68 rows × 9 columns

\n", + "
" + ], + "text/plain": [ + " Year Macquarie Island MAX Macquarie Island MIN Mawson MAX Mawson MIN \\\n", + "0 1948 NaN NaN NaN NaN \n", + "1 1949 NaN NaN NaN NaN \n", + "2 1950 6.050 2.625 NaN NaN \n", + "3 1951 6.100 2.660 NaN NaN \n", + "4 1952 6.140 2.660 NaN NaN \n", + ".. ... ... ... ... ... \n", + "63 2011 6.740 3.200 -8.04 -14.28 \n", + "64 2012 6.840 3.260 -8.24 -14.40 \n", + "65 2013 6.825 3.225 -8.10 -14.30 \n", + "66 2014 NaN NaN NaN NaN \n", + "67 2015 NaN NaN NaN NaN \n", + "\n", + " Casey MAX Casey MIN Davis MAX Davis MIN \n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + ".. ... ... ... ... \n", + "63 -5.86 -12.50 -7.00 -12.98 \n", + "64 -6.28 -12.96 -7.10 -13.08 \n", + "65 -6.30 -12.90 -7.05 -13.05 \n", + "66 NaN NaN NaN NaN \n", + "67 NaN NaN NaN NaN \n", + "\n", + "[68 rows x 9 columns]" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "url = \"https://data.gov.au/data/dataset/7169894e-b518-4933-a900-f79ebc4ec6a3/resource/5d9edabe-b6af-4975-9340-88f55b872a00/download/soe2016antarctic5-year-smoothed-annual-max-min-temperature-by-stationaad.csv\"\n", + "df = pd.read_csv(url)\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "id": "436124b0-56ab-4af1-b3e4-abfd142ae4d1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
YearMacquarie Island MAXMacquarie Island MINMawson MAXMawson MINCasey MAXCasey MINDavis MAXDavis MIN
01948NaNNaNNaNNaNNaNNaNNaNNaN
11949NaNNaNNaNNaNNaNNaNNaNNaN
\n", + "
" + ], + "text/plain": [ + " Year Macquarie Island MAX Macquarie Island MIN Mawson MAX Mawson MIN \\\n", + "0 1948 NaN NaN NaN NaN \n", + "1 1949 NaN NaN NaN NaN \n", + "\n", + " Casey MAX Casey MIN Davis MAX Davis MIN \n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN " + ] + }, + "execution_count": 116, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "b54f2a53-31c7-4f70-8d8a-7a14a665f933", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Year' 'Macquarie Island MAX' 'Macquarie Island MIN' 'Mawson MAX'\n", + " 'Mawson MIN' 'Casey MAX' 'Casey MIN' 'Davis MAX' 'Davis MIN']\n" + ] + } + ], + "source": [ + "col_names = df.columns.values\n", + "print(col_names)" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "id": "e1e204bc-dce9-4917-aaba-663b6e12a65b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 Year\n", + "1 Macquarie Island MAX\n", + "2 Macquarie Island MIN\n", + "3 Mawson MAX\n", + "4 Mawson MIN\n", + "5 Casey MAX\n", + "6 Casey MIN\n", + "7 Davis MAX\n", + "8 Davis MIN\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Input index number of column to be used for x-axis: 0\n", + "Input index number of column to be used for y-axis: 2\n", + "Input index number of column 2 (optional) to be used for y-axis: 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x-axis: Year, y-axis: Macquarie Island MIN, y-axis (second): 1\n" + ] + } + ], + "source": [ + "[print(i, col_names[i]) for i in range(len(col_names))]\n", + "x_col = int(input(\"Input index number of column to be used for x-axis: \"))\n", + "y_col = int(input(\"Input index number of column to be used for y-axis: \"))\n", + "y_col2 = input(\"Input index number of column 2 (optional) to be used for y-axis: \")\n", + "y_col2 = int(y_col2) if y_col2 else None\n", + "print(f\"x-axis: {col_names[x_col]}, y-axis: {col_names[y_col]}, y-axis (second): {y_col2}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "4a8fdb26-5b04-49ab-8f37-311ec1e0dccd", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "25808103e4f24542a5bf087d3335347e", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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kW6/XXr+eXveubOFwAULpNatbYZxSkrJlf9wxo2zYwneIWXAAGsNLq5hAIeze7f0979bXd25085R3v8GA1iFCtI119gyQwVZjqgw1q6V3njDzsPMmeGvnXjiocN6SootM9Shg/1NHWnmui+4fktyKLKMjAwnyWVkZMS6KIDbt8+5Cy90TnKualXnJk1y7u67natQwbalpDj3wgvO5eQU/DMnTnTu1FPt/Yd71K3r3M8/F668CxY4d8EFoc9ITHRuyBDnZs50LiurcJ+FkB07nLv00vDz2quXcy+95NzmzaH9/vc/50480faJi3PuL39xLjvbudWrnTvqKNv++99bvYqlXbucu/ba0PEcc4xzkyfHtkx5BQLOzZ1r5zhYxsqVnbvrLue2bYv88zdvdu722+33GPz8uDjnOnd2bvRo51asiPxn+Ijrt3MEwAhQgVCcNmxw7ocfnNu/v/Dvzclx7rLLQhf8SZNCr82Z41z79qGLR5cuzn3//eFD1vTpzp11Vug9Vas616ePc7fc4tyjjzr35pvOTZni3MKFzp18su3TsqVz27cfuaw//+zc5ZfbRUxyLj7eLvCrVxf+uJG/QMC5l1+2sJQ3qMfH2+//rrucS0oKhfcvvwx//+zZodcHDrTPK6y9e+1zP/oo/8fixUf+jIULnWvVKhR6hg51bs+ewpelpHzzjXNnnBE638nJzj30kHM7dxb+szIznbv/fueqVQt9XufOzj3/vP1bgchw/SYARoQKhOIye7ZzderYP/J16jg3YIBzH39csItdIODc9dfbeytWtIvrgbKznXviCQtywYtJQoJzHTs6d/PNzr3xhnNLllir3EUXhe9zyy3Obdp06J+/dq1zDRva/meddfhg+dZb4Re0iy8uWBBA0QQCFqIefNC5du0Obrk9++xDh4mPPrLAKFnoL6j9+5179VXnGjc+cstxt27OffCB1c8Dy/3SS85VqWL71a/v3FdfFfk0lKhAwLlPP3XupJPCW8j/9S8LxUeyZ49zjz8e+vdAst/d558XLYgjf1y/CYARoQKhOHz/vXXPBlto8l4gq1Vz7pJLnHv7bQtnv/4afhEIBJy7885QC8k77xz+Z61a5dyf/+xcrVqHvzDHxzt39dW2f0HMmxcKdgMGHHyh+u032x78/DPOcG7WrEKdJhSDn3+2LwLnnGOh7kitzf/6V+h3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AAQAAPAZARAAAMAzBEAAAADPEAABAAA8QwAEAADwjJfLwBSX4KzhzMzMGJcEAAAUVPC67fPqHwTACOzcuVOSlJaWFuOSAACAwtq2bZtSUlJiXYyYKFf3Ai5pgUBA69evV/Xq1RUXFxfr4hRIZmam0tLStGbNGm/vf+j7OeD4/T5+iXPg+/FLnIOMjAw1btxY27dvV40aNWJdnJigBTAC8fHxB91JpKxITk728o8+L9/PAcfv9/FLnAPfj1/iHMTH+zsVwt8jBwAA8BQBEAAAwDMEQM8kJiZqxIgRSkxMjHVRYsb3c8Dx+338EufA9+OXOAe+H7/EJBAAAADv0AIIAADgGQIgAACAZwiAAAAAniEAAgAAeIYAWAZ98803Ov/889WgQQPFxcVp/PjxYa9v2rRJV199tRo0aKCkpCSdc845WrZsWdg+Xbt2VVxcXNjjhhtuCNtn9erV6tWrl5KSklS3bl3ddddd2r9/f7QP74iK4/glKT09XWeddZaqVq2q5ORkdenSRXv27Ml9/ddff1W/fv2UnJysGjVq6JprrtFvv/0W7cMrkEjPwapVqw76/QcfY8eOzd2vPNeBjRs36oorrlD9+vVVtWpVtWvXTv/973/D9inPdUCSVqxYod69eys1NVXJycm65JJLtGnTprB9Sus5GDVqlE499VRVr15ddevW1UUXXaQlS5aE7bN3714NGjRItWvXVrVq1fTHP/7xoOMrSB3/+uuv1a5dOyUmJqpFixZ67bXXon14R1Rcx3/LLbeoffv2SkxMVNu2bfP9WT/++KN+97vfqXLlykpLS9Pf//73aB1WoRTHOZg/f7769u2rtLQ0ValSRS1bttSTTz550M8qjXUgUgTAMmjXrl1q06aNnn766YNec87poosu0sqVK/Xhhx9q7ty5atKkibp3765du3aF7Ttw4EBt2LAh95H3jzonJ0e9evXSvn37NG3aNI0ZM0avvfaahg8fHvXjO5LiOP709HSdc8456tGjh2bMmKGZM2dq8ODBYavC9+vXTz/99JMmTpyoTz75RN98842uu+66EjnGI4n0HKSlpYX97jds2KAHHnhA1apV07nnniup/NeBK6+8UkuWLNFHH32kBQsWqE+fPrrkkks0d+7c3H3Kcx3YtWuXevToobi4OE2ePFnff/+99u3bp/PPP1+BQCD3s0rrOZg6daoGDRqkH374QRMnTlR2drZ69OgR9ju+/fbb9fHHH2vs2LGaOnWq1q9frz59+uS+XpA6/vPPP6tXr17q1q2b5s2bp9tuu03XXnutvvjiixI93gMVx/EHDRgwQJdeemm+PyczM1M9evRQkyZNNHv2bP3jH//Q/fffrxdeeCFqx1ZQxXEOZs+erbp16+rNN9/UTz/9pL/+9a8aNmyYnnrqqdx9SmsdiJhDmSbJjRs3Lvf5kiVLnCS3cOHC3G05OTkuNTXVvfjii7nbzjzzTHfrrbce8nM/++wzFx8f7zZu3Ji77dlnn3XJyckuKyurWI8hEkU9/o4dO7p77733kJ+7aNEiJ8nNnDkzd9uECRNcXFycW7duXfEeRISKeg4O1LZtWzdgwIDc5+W9DlStWtW9/vrrYZ9Vq1at3H3Kex344osvXHx8vMvIyMjdZ8eOHS4uLs5NnDjROVe2zsHmzZudJDd16lTnnB1LpUqV3NixY3P3+d///uckufT0dOdcwer43Xff7Vq1ahX2sy699FLXs2fPaB9SoRTl+PMaMWKEa9OmzUHbn3nmGVezZs2wv/l77rnHHXfcccV/EBGK9BwE3XTTTa5bt265z8tKHSgsWgDLmaysLElS5cqVc7fFx8crMTFR3333Xdi+b731lurUqaPWrVtr2LBh2r17d+5r6enpOvHEE1WvXr3cbT179lRmZqZ++umnKB9F0RXk+Ddv3qzp06erbt26Ov3001WvXj2deeaZYecnPT1dNWrU0CmnnJK7rXv37oqPj9f06dNL6GiKpjB1IGj27NmaN2+errnmmtxt5bkOSNLpp5+u9957T7/++qsCgYDeffdd7d27V127dpVU/utAVlaW4uLiwhbCrVy5suLj43P3KUvnICMjQ5JUq1YtSVans7Oz1b1799x9jj/+eDVu3Fjp6emSClbH09PTwz4juE/wM0qLohx/QaSnp6tLly5KSEjI3dazZ08tWbJE27dvL6bSF4/iOgcZGRm5nyGVnTpQWATAciZYuYcNG6bt27dr3759evTRR7V27Vpt2LAhd7/LLrtMb775pqZMmaJhw4bpjTfe0OWXX577+saNG8P+UZSU+3zjxo0lczBFUJDjX7lypSTp/vvv18CBA/X555+rXbt2Ovvss3PHSG3cuFF169YN++yKFSuqVq1apfr4pYLXgbxefvlltWzZUqeffnrutvJcByTp/fffV3Z2tmrXrq3ExERdf/31GjdunFq0aCGp/NeB0047TVWrVtU999yj3bt3a9euXbrzzjuVk5OTu09ZOQeBQEC33XabOnfurNatW0uysickJKhGjRph+9arVy+37AWp44faJzMzM2zMcCwV9fgLoqz8O1Bc52DatGl67733woY5lIU6UBQEwHKmUqVK+uCDD7R06VLVqlVLSUlJmjJlis4999yw8W3XXXedevbsqRNPPFH9+vXT66+/rnHjxmnFihUxLH3kCnL8wfFN119/vfr376+TTz5ZTzzxhI477ji98sorsSx+sShoHQjas2eP3n777bDWv7KsoMd/3333aceOHfrqq680a9YsDRkyRJdccokWLFgQw9IXj4Kcg9TUVI0dO1Yff/yxqlWrppSUFO3YsUPt2rXLt56UZoMGDdLChQv17rvvxrooMeH78UvFcw4WLlyoCy+8UCNGjFCPHj2KsXSlU8VYFwDFr3379po3b54yMjK0b98+paamqmPHjmHdOAfq2LGjJGn58uVq3ry56tevrxkzZoTtE5w5Vb9+/egVvhgc6fiPOuooSdIJJ5wQ9r6WLVtq9erVkuwYN2/eHPb6/v379euvv5b645cKVwf+85//aPfu3bryyivDtpfnOrBixQo99dRTWrhwoVq1aiVJatOmjb799ls9/fTTeu6557yoAz169NCKFSu0detWVaxYUTVq1FD9+vV19NFHSyobfweDBw/OnZzSqFGj3O3169fXvn37tGPHjrAWoE2bNuWWvSB1vH79+gfNnN20aZOSk5NVpUqVaBxSoURy/AVxqOMPvlYaFMc5WLRokc4++2xdd911uvfee8NeK+11oKjK1tc8FEpKSopSU1O1bNkyzZo1SxdeeOEh9503b56kUDjq1KmTFixYEPaP/8SJE5WcnHxQcCqtDnX8TZs2VYMGDQ5aLmDp0qVq0qSJJDv+HTt2aPbs2bmvT548WYFAIDcslwUFqQMvv/yyLrjgAqWmpoZtL891IDje9cCWrgoVKuS2EPtUB+rUqaMaNWpo8uTJ2rx5sy644AJJpfscOOc0ePBgjRs3TpMnT1azZs3CXm/fvr0qVaqkSZMm5W5bsmSJVq9erU6dOkkqWB3v1KlT2GcE9wl+RqwUx/EXRKdOnfTNN98oOzs7d9vEiRN13HHHqWbNmpEfSASK6xz89NNP6tatm6666iqNHDnyoJ9TWutAxGI8CQVFsHPnTjd37lw3d+5cJ8k9/vjjbu7cue6XX35xzjn3/vvvuylTprgVK1a48ePHuyZNmrg+ffrkvn/58uXub3/7m5s1a5b7+eef3YcffuiOPvpo16VLl9x99u/f71q3bu169Ojh5s2b5z7//HOXmprqhg0bVuLHe6BIj98555544gmXnJzsxo4d65YtW+buvfdeV7lyZbd8+fLcfc455xx38sknu+nTp7vvvvvOHXPMMa5v374leqyHUhznwDnnli1b5uLi4tyECRMOeq0814F9+/a5Fi1auN/97ndu+vTpbvny5W706NEuLi7Offrpp7n7lfc68Morr7j09HS3fPly98Ybb7hatWq5IUOGhO1TWs/BjTfe6FJSUtzXX3/tNmzYkPvYvXt37j433HCDa9y4sZs8ebKbNWuW69Spk+vUqVPu6wWp4ytXrnRJSUnurrvucv/73//c008/7SpUqOA+//zzEj3eAxXH8Ttn/wbMnTvXXX/99e7YY4/NrVPBWb87duxw9erVc1dccYVbuHChe/fdd11SUpJ7/vnnS/R481Mc52DBggUuNTXVXX755WGfsXnz5tx9SmsdiBQBsAyaMmWKk3TQ46qrrnLOOffkk0+6Ro0auUqVKrnGjRu7e++9N2wK/+rVq12XLl1crVq1XGJiomvRooW76667wpaDcM65VatWuXPPPddVqVLF1alTx91xxx0uOzu7JA81X5Eef9CoUaNco0aNXFJSkuvUqZP79ttvw17ftm2b69u3r6tWrZpLTk52/fv3dzt37iyJQzyi4joHw4YNc2lpaS4nJyffn1Oe68DSpUtdnz59XN26dV1SUpI76aSTDloWprzXgXvuucfVq1fPVapUyR1zzDHusccec4FAIGyf0noO8jt2Se7VV1/N3WfPnj3upptucjVr1nRJSUmud+/ebsOGDWGfU5A6PmXKFNe2bVuXkJDgjj766LCfESvFdfxnnnlmvp/z888/5+4zf/58d8YZZ7jExETXsGFD98gjj5TQUR5ecZyDESNG5PsZTZo0CftZpbEORCrOOeeKqzURAAAApR9jAAEAADxDAAQAAPAMARAAAMAzBEAAAADPEAABAAA8QwAEAADwDAEQAADAMwRAAAAAzxAAAQAAPEMABAAA8AwBEAAAwDMEQAAAAM8QAAEAADxDAAQAAPAMARAAAMAzBEAAAADPEAABAAA8QwAEAADwDAEQAADAMwRAAAAAzxAAAQAAPEMABAAA8AwBEAAAwDMEQAAAAM8QAAEAADxDAAQAAPAMARAAAMAzBEAAAADPEAABAAA8QwAEAADwDAEQAADAM/8HyzxeAzjNDQQAAAAASUVORK5CYII=", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axis = plt.subplots()\n", + "xlo = df[col_names[x_col]].min() - 5\n", + "xhi = df[col_names[x_col]].max() + 5\n", + "ylo = df[col_names[y_col]].min() - 5\n", + "yhi = df[col_names[y_col]].max() + 5\n", + "if y_col2:\n", + " ylo = min(ylo, df[col_names[y_col2]].min() - 5)\n", + " yhi = max(yhi, df[col_names[y_col]].max() + 5)\n", + "\n", + "x = df[col_names[x_col]].to_numpy()\n", + "y = df[col_names[y_col]].to_numpy()\n", + "if y_col2:\n", + " y2 = df[col_names[y_col2]].to_numpy()\n", + "\n", + "plt.axis([xlo, xhi, ylo, yhi])\n", + "# plt.plot(x, y, \"bo\")\n", + "plt.plot(x, y, \"b\")\n", + "if y_col2:\n", + " # plt.plot(x, y2, \"ro\")\n", + " plt.plot(x, y2, \"r\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8176fbac-b605-41a7-9319-f762d95f2364", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Data Graph Explorer.md b/Data Graph Explorer.md new file mode 100644 index 0000000..2d28747 --- /dev/null +++ b/Data Graph Explorer.md @@ -0,0 +1,931 @@ +```python +import matplotlib.pyplot as plt +import numpy as np +from ipywidgets import FileUpload +import pandas as pd +import io +import json +``` + +## Upload File + + +```python +uploaded = FileUpload(accept=".csv") +display(uploaded) +``` + + + FileUpload(value=(), accept='.csv', description='Upload') + + + +```python +for f in uploaded.value: + content = f["content"] + df = pd.read_csv(io.BytesIO(content)) + break +df +``` + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
YearCSIRO Adjusted Sea LevelLower Error BoundUpper Error BoundNOAA Adjusted Sea Level
018800.000000-0.9527560.952756NaN
118810.220472-0.7322831.173228NaN
21882-0.440945-1.3464570.464567NaN
31883-0.232283-1.1299210.665354NaN
418840.590551-0.2834651.464567NaN
..................
12920098.5866148.3110248.8622058.046354
13020108.9015758.6181109.1850398.122973
13120118.9645678.6614179.2677178.053065
13220129.3267728.9921269.6614178.457058
13320138.9803158.6220479.3385838.546648
+

134 rows × 5 columns

+
+ + + +## Provide CSV file URL as interactive input + + +```python +url = input("Provide direct url of CSV file: ") +df = pd.read_csv(url) +df +# https://github.com/jasperdebie/VisInfo/raw/master/us-state-capitals.csv +``` + + Provide direct url of CSV file: https://github.com/jasperdebie/VisInfo/raw/master/us-state-capitals.csv + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
namedescriptionlatitudelongitude
0AlabamaMontgomery32.377716-86.300568
1AlaskaJuneau58.301598-134.420212
2ArizonaPhoenix33.448143-112.096962
3ArkansasLittle Rock34.746613-92.288986
4CaliforniaSacramento38.576668-121.493629
5ColoradoDenver39.739227-104.984856
6ConnecticutHartford<br>41.764046-72.682198
7DelawareDover39.157307-75.519722
8HawaiiHonolulu21.307442-157.857376
9FloridaTallahassee30.438118-84.281296
10GeorgiaAtlanta<br>33.749027-84.388229
11IdahoBoise43.617775-116.199722
12IllinoisSpringfield39.798363-89.654961
13IndianaIndianapolis39.768623-86.162643
14IowaDes Moines41.591087-93.603729
15KansasTopeka39.048191-95.677956
16KentuckyFrankfort38.186722-84.875374
17LouisianaBaton Rouge30.457069-91.187393
18MaineAugusta44.307167-69.781693
19MarylandAnnapolis38.978764-76.490936
20MassachusettsBoston42.358162-71.063698
21MichiganLansing42.733635-84.555328
22MinnesotaSt. Paul44.955097-93.102211
23MississippiJackson32.303848-90.182106
24MissouriJefferson City38.579201-92.172935
25MontanaHelena46.585709-112.018417
26NebraskaLincoln40.808075-96.699654
27NevadaCarson City39.163914-119.766121
28New HampshireConcord43.206898-71.537994
29New JerseyTrenton40.220596-74.769913
30New MexicoSanta Fe35.682240-105.939728
31North CarolinaRaleigh35.780430-78.639099
32North DakotaBismarck46.820850-100.783318
33New YorkAlbany42.652843-73.757874
34OhioColumbus39.961346-82.999069
35OklahomaOklahoma City35.492207-97.503342
36OregonSalem44.938461-123.030403
37PennsylvaniaHarrisburg40.264378-76.883598
38Rhode IslandProvidence41.830914-71.414963
39South CarolinaColumbia34.000343-81.033211
40South DakotaPierre44.367031-100.346405
41TennesseeNashville36.165810-86.784241
42TexasAustin30.274670-97.740349
43UtahSalt Lake City40.777477-111.888237
44VermontMontpelier44.262436-72.580536
45VirginiaRichmond37.538857-77.433640
46WashingtonOlympia47.035805-122.905014
47West VirginiaCharleston38.336246-81.612328
48WisconsinMadison43.074684-89.384445
49WyomingCheyenne41.140259-104.820236
+
+ + + + +```python +# source: https://public.opendatasoft.com/explore/dataset/us-state-boundaries/table/ +with open("us-state-boundaries.csv") as f: + sb = [line.split(';')[-2] for line in f.readlines()[1:]] # state boundaries + sb = ['[['+b[b.find("[[[")+3: b.find("]]]")+1].strip('[').strip(']')+']]' for b in sb] + +sb2 = [] +for i in range(len(sb)): + try: + sb2.append(json.loads(sb[i])) + except BaseException as e: + print(i) + +sb3 = [] +for b in sb2: + x = [] + y = [] + for xy in b: + x.append(xy[0]) + y.append(xy[1]) + sb3.append([x, y]) + +print(sb3[0]) +``` + + 3 + [[-64.843729999672, -64.8306170004155, -64.8166740000574, -64.8003289998509, -64.7850010003439, -64.7780049999629, -64.756923000007, -64.7438040000044, -64.7376500004207, -64.7298299996841, -64.727025000328, -64.7081970000824, -64.7016040001075, -64.6832930000708, -64.6752489999265, -64.6684810000495, -64.6404370000478, -64.6391440000621, -64.643689000191, -64.6377349997255, -64.6638549997298, -64.6613010004438, -64.6642589999609, -64.6782290000832, -64.6944889999008, -64.7079069996541, -64.720173999712, -64.7487359997476, -64.7577690001039, -64.7734199996511, -64.7828909996753, -64.8012889997506, -64.7992609999961, -64.8027730004303, -64.8068909998636, -64.8185169998639, -64.8333530001747, -64.849551999893, -64.8580350004284, -64.8725339995569, -64.8897519996245, -64.8997750000177, -64.9052399998634, -64.9061510002576, -64.921034000424, -64.9337140000354, -64.9420610001283, -64.9464720003629, -64.9609639998188, -64.9804139998553, -64.9978610002517, -65.0198210000917, -65.0315650000928, -65.0485809995957, -65.0501940001468, -65.0577479998463, -65.0677319998815, -65.0809529999913, -65.10083099965, -65.1172670000931, -65.1312199995987, -65.1426220001913, -65.1477229999889, -65.154117999597, -65.1536439999441, -65.1506989999476, -65.1448089999545, -65.137688999725, -65.1399409997855, -65.1351379999137, -65.1303469997376, -65.1174269999267, -65.1130569997, -65.1137599996818, -65.112214999801, -65.1004130000736, -65.091790999621, -65.0805670002019, -65.0606650002537, -65.0415220003638, -65.0172989996944, -65.007769000119, -64.9995900002555, -64.9823889999064, -64.9691820000403, -64.950455000077, -64.9426920001401, -64.9276419995691, -64.907594999856, -64.8950240000245, -64.8910329999146, -64.8739119999314, -64.8649759996594, -64.8599500002049, -64.843729999672], [18.3937130003038, 18.3952020001978, 18.4029059996947, 18.4075949997621, 18.4038019999373, 18.386209000173, 18.3766859999062, 18.3781310002826, 18.3762170003899, 18.3779449996133, 18.3747250001871, 18.373742000052, 18.3706359999168, 18.3725669997141, 18.3674629998913, 18.3655769999245, 18.363997000316, 18.3551899997673, 18.3441069997742, 18.3197589996555, 18.2853760001861, 18.2673589997501, 18.2612709996959, 18.2523160002306, 18.2487579998992, 18.2487249997681, 18.2506900002989, 18.2630590000803, 18.2608550002774, 18.2605059997401, 18.2526930002856, 18.2451059996837, 18.2293219998289, 18.2133720003843, 18.2051629999707, 18.1920609998845, 18.1834559998114, 18.1796829999945, 18.1795870003758, 18.1834839999737, 18.1942359996752, 18.2065249995874, 18.2185139997731, 18.2241929999785, 18.2288429997134, 18.2379699999478, 18.2480099999376, 18.2572230000658, 18.2560599998827, 18.2569120001884, 18.252492999917, 18.2523549996564, 18.2562770001029, 18.2667770001428, 18.2691289998076, 18.2541629999811, 18.2439080002976, 18.2364819999318, 18.2326290001953, 18.23477199986, 18.2417569995878, 18.2507890004071, 18.2590850003178, 18.2774250002881, 18.2931389997995, 18.302844999769, 18.3128859999509, 18.3205580003919, 18.3362909997264, 18.3508549999627, 18.3615369997632, 18.3802330002905, 18.3957579996876, 18.4068750001337, 18.418827, 18.4395440001859, 18.4471019997825, 18.4528070003069, 18.4597469996518, 18.4591020001661, 18.4493229999302, 18.4407029996101, 18.4455259999609, 18.4507079999187, 18.4509469999009, 18.4462940001965, 18.4541570002839, 18.4619490000909, 18.4649839999656, 18.4633640003554, 18.4621600003593, 18.4062549996746, 18.3959270002777, 18.3942250002094, 18.3937130003038]] + + + +```python +fig, axis = plt.subplots() +x_col = "longitude" +y_col = "latitude" +xlo = df[x_col].min() - 5 +xhi = df[x_col].max() + 5 +ylo = df[y_col].min() - 5 +yhi = df[y_col].max() + 5 + +x = df[x_col].to_numpy() +y = df[y_col].to_numpy() + +plt.axis([xlo, xhi, ylo, yhi]) +plt.plot(x, y, "ro") +for b in sb3: + plt.plot(b[0], b[1], "b") +plt.title("USA states and their capital location") +plt.show() +``` + + + +![png](output_7_0.png) + + + +## Edit CSV file URL variable + + +```python +url = "https://data.gov.au/data/dataset/7169894e-b518-4933-a900-f79ebc4ec6a3/resource/5d9edabe-b6af-4975-9340-88f55b872a00/download/soe2016antarctic5-year-smoothed-annual-max-min-temperature-by-stationaad.csv" +df = pd.read_csv(url) +df +``` + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
YearMacquarie Island MAXMacquarie Island MINMawson MAXMawson MINCasey MAXCasey MINDavis MAXDavis MIN
01948NaNNaNNaNNaNNaNNaNNaNNaN
11949NaNNaNNaNNaNNaNNaNNaNNaN
219506.0502.625NaNNaNNaNNaNNaNNaN
319516.1002.660NaNNaNNaNNaNNaNNaN
419526.1402.660NaNNaNNaNNaNNaNNaN
..............................
6320116.7403.200-8.04-14.28-5.86-12.50-7.00-12.98
6420126.8403.260-8.24-14.40-6.28-12.96-7.10-13.08
6520136.8253.225-8.10-14.30-6.30-12.90-7.05-13.05
662014NaNNaNNaNNaNNaNNaNNaNNaN
672015NaNNaNNaNNaNNaNNaNNaNNaN
+

68 rows × 9 columns

+
+ + + + +```python +df.head(2) +``` + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
YearMacquarie Island MAXMacquarie Island MINMawson MAXMawson MINCasey MAXCasey MINDavis MAXDavis MIN
01948NaNNaNNaNNaNNaNNaNNaNNaN
11949NaNNaNNaNNaNNaNNaNNaNNaN
+
+ + + + +```python +col_names = df.columns.values +print(col_names) +``` + + ['Year' 'Macquarie Island MAX' 'Macquarie Island MIN' 'Mawson MAX' + 'Mawson MIN' 'Casey MAX' 'Casey MIN' 'Davis MAX' 'Davis MIN'] + + + +```python +[print(i, col_names[i]) for i in range(len(col_names))] +x_col = int(input("Input index number of column to be used for x-axis: ")) +y_col = int(input("Input index number of column to be used for y-axis: ")) +y_col2 = input("Input index number of column 2 (optional) to be used for y-axis: ") +y_col2 = int(y_col2) if y_col2 else None +print(f"x-axis: {col_names[x_col]}, y-axis: {col_names[y_col]}, y-axis (second): {y_col2}") +``` + + 0 Year + 1 Macquarie Island MAX + 2 Macquarie Island MIN + 3 Mawson MAX + 4 Mawson MIN + 5 Casey MAX + 6 Casey MIN + 7 Davis MAX + 8 Davis MIN + + + Input index number of column to be used for x-axis: 0 + Input index number of column to be used for y-axis: 2 + Input index number of column 2 (optional) to be used for y-axis: 1 + + + x-axis: Year, y-axis: Macquarie Island MIN, y-axis (second): 1 + + + +```python +fig, axis = plt.subplots() +xlo = df[col_names[x_col]].min() - 5 +xhi = df[col_names[x_col]].max() + 5 +ylo = df[col_names[y_col]].min() - 5 +yhi = df[col_names[y_col]].max() + 5 +if y_col2: + ylo = min(ylo, df[col_names[y_col2]].min() - 5) + yhi = max(yhi, df[col_names[y_col]].max() + 5) + +x = df[col_names[x_col]].to_numpy() +y = df[col_names[y_col]].to_numpy() +if y_col2: + y2 = df[col_names[y_col2]].to_numpy() + +plt.axis([xlo, xhi, ylo, yhi]) +# plt.plot(x, y, "bo") +plt.plot(x, y, "b") +if y_col2: + # plt.plot(x, y2, "ro") + plt.plot(x, y2, "r") +plt.show() +``` + + + +![png](output_13_0.png) + + + + +```python + +``` diff --git a/output_13_0.png b/output_13_0.png new file mode 100644 index 0000000000000000000000000000000000000000..76d53ef5b1bed86a9352ba15d64a818c49aecfa2 GIT binary patch literal 15589 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 APyhe` literal 0 HcmV?d00001 diff --git a/output_7_0.png b/output_7_0.png new file mode 100644 index 0000000000000000000000000000000000000000..685c955c09c5c139a228c105f0869394fac45a8a GIT binary patch literal 40392 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 literal 0 HcmV?d00001