{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Step - 3: Legacy of Slavery Certificate of Freedom Case Study - Data Visualization" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# import important libraries used for visualization purposes\n", "import pandas as pd\n", "import networkx\n", "import numpy as np\n", "import geopandas as gpd\n", "import shapely as shp\n", "from plotly.offline import init_notebook_mode, iplot\n", "init_notebook_mode(connected=True)\n", "import plotly.graph_objs as go\n", "import plotly.graph_objects as go\n", "import plotly.express as px\n", "import pandas as pd\n", "# import cufflinks\n", "import plotly\n", "# word cloud library\n", "from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator\n", "\n", "import plotly.graph_objs as go\n", "from plotly.offline import iplot, init_notebook_mode\n", "# # Using plotly + cufflinks in offline mode\n", "# import cufflinks\n", "# cufflinks.go_offline(connected=True)\n", "init_notebook_mode(connected=True)\n", "\n", "# matplotlib library\n", "import matplotlib.pyplot as plt\n", "\n", "# import bokeh library which is a famous one for network analysis\n", "from bokeh.io import output_notebook, show, save\n", "\n", "# these are needed for Network Visualization below\n", "from bokeh.io import output_notebook, show, save\n", "from bokeh.models import Range1d, Circle, ColumnDataSource, MultiLine\n", "from bokeh.plotting import figure\n", "from bokeh.plotting import from_networkx\n", "\n", "# these are needed for Geo Map visualization below\n", "import plotly.figure_factory as ff\n", "from urllib.request import urlopen\n", "import json\n", "with urlopen('https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json') as response:\n", " counties = json.load(response) " ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\rgnanase\\Anaconda3\\envs\\igsc2021_jb\\lib\\site-packages\\IPython\\core\\interactiveshell.py:3165: DtypeWarning:\n", "\n", "Columns (24,25) have mixed types.Specify dtype option on import or set low_memory=False.\n", "\n" ] }, { "data": { "text/html": [ "
| \n", " | DataID | \n", "DataItem | \n", "County | \n", "Owner_FirstName | \n", "Owner_LastName | \n", "Witness | \n", "Date | \n", "Freed_FirstName | \n", "Freed_LastName | \n", "Alias | \n", "... | \n", "DatasetName | \n", "Notes | \n", "isWorking | \n", "isError | \n", "ChangeDate | \n", "CreateDate | \n", "DateFormatted | \n", "PriorStatusFormatted | \n", "Height_Inches | \n", "AgeFormatted | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "AR7-46 | \n", "1 | \n", "AA | \n", "Ann | \n", "Ailsworth | \n", "NaN | \n", "None | \n", "Keziah | \n", "Cromwell | \n", "NaN | \n", "... | \n", "FF | \n", "NaN | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "NaN | \n", "Unknown | \n", "63.00 | \n", "20.0 | \n", "
| 1 | \n", "AR7-46 | \n", "2 | \n", "AA | \n", "Ann | \n", "Ailsworth | \n", "Zachariah Duvall | \n", "1811-06-24 | \n", "Resiah | \n", "Cromwell | \n", "NaN | \n", "... | \n", "FF | \n", "NaN | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1811-06-24 | \n", "Unknown | \n", "63.00 | \n", "28.0 | \n", "
| 2 | \n", "AR7-46 | \n", "3 | \n", "AA | \n", "Ann | \n", "Ailsworth | \n", "Jenifer Duvall | \n", "1811-06-24 | \n", "Kesiah | \n", "Cromwell | \n", "NaN | \n", "... | \n", "FF | \n", "Freed by will of Mrs. Ann Ailsworth. | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1811-06-24 | \n", "Slave | \n", "63.00 | \n", "28.0 | \n", "
| 3 | \n", "AR7-46 | \n", "4 | \n", "AA | \n", "William | \n", "Alexander | \n", "NaN | \n", "1815-03-28 | \n", "Handy | \n", "McCeomey | \n", "NaN | \n", "... | \n", "FF | \n", "Freed by manumission, dated 27 March 1815. Rai... | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1815-03-28 | \n", "Unknown | \n", "67.75 | \n", "43.0 | \n", "
| 4 | \n", "AR7-46 | \n", "5 | \n", "AA | \n", "Thomas | \n", "Allen | \n", "NaN | \n", "1837-07-10 | \n", "Nancy | \n", "Ennis | \n", "NaN | \n", "... | \n", "FF | \n", "Freed by petition to Anne Arundel County Court... | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1837-07-10 | \n", "Unknown | \n", "57.50 | \n", "37.0 | \n", "
| 5 | \n", "AR7-46 | \n", "6 | \n", "AA | \n", "Thomas | \n", "Allen | \n", "NaN | \n", "1837-08-03 | \n", "Jim | \n", "Sharpe | \n", "NaN | \n", "... | \n", "FF | \n", "Freed by petition to Anne Arundel County Court... | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1837-08-03 | \n", "Unknown | \n", "61.50 | \n", "41.0 | \n", "
| 6 | \n", "AR7-46 | \n", "7 | \n", "AA | \n", "James | \n", "Alleson | \n", "NaN | \n", "1826-10-28 | \n", "Belly | \n", "NaN | \n", "NaN | \n", "... | \n", "FF | \n", "Freed by manumission, dated 28 Oct 1826. Raise... | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1826-10-28 | \n", "Unknown | \n", "61.50 | \n", "26.0 | \n", "
| 7 | \n", "AR7-46 | \n", "8 | \n", "AA | \n", "Mary | \n", "Alwell | \n", "NaN | \n", "1844-11-08 | \n", "Howard | \n", "Davis | \n", "NaN | \n", "... | \n", "FF | \n", "son of Nelly. Freed by manumission, dated 12 A... | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1844-11-08 | \n", "Unknown | \n", "66.50 | \n", "22.0 | \n", "
| 8 | \n", "AR7-46 | \n", "9 | \n", "AA | \n", "Mary | \n", "Armiger | \n", "NaN | \n", "1819-01-27 | \n", "Abigail | \n", "NaN | \n", "NaN | \n", "... | \n", "FF | \n", "along with Richard G. Stetton. Freed by manumi... | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1819-01-27 | \n", "Unknown | \n", "61.00 | \n", "40.0 | \n", "
| 9 | \n", "AR7-46 | \n", "10 | \n", "AA | \n", "Mary | \n", "Atcock | \n", "Jacob Franklin, Jr. | \n", "1812-12-30 | \n", "Ned | \n", "NaN | \n", "NaN | \n", "... | \n", "FF | \n", "NaN | \n", "0 | \n", "0 | \n", "39:20.3 | \n", "39:20.3 | \n", "1812-12-30 | \n", "Unknown | \n", "66.25 | \n", "21.0 | \n", "
10 rows × 32 columns
\n", "\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"
\\n\"+\n", " \"\\n\"+\n",
" \"from bokeh.resources import INLINE\\n\"+\n",
" \"output_notebook(resources=INLINE)\\n\"+\n",
" \"\\n\"+\n",
" \"\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"