{"id":1121572,"date":"2021-01-28T15:16:01","date_gmt":"2021-01-28T23:16:01","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=1121572"},"modified":"2022-07-21T14:22:47","modified_gmt":"2022-07-21T21:22:47","slug":"using-arcgis-notebooks-and-arcpy-charts-to-explore-data","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data","title":{"rendered":"Using ArcGIS Notebooks and ArcPy Charts to Explore Data"},"author":157441,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341],"tags":[31181,30821,758532,758522],"industry":[],"product":[36561],"class_list":["post-1121572","blog","type-blog","status-publish","format-standard","hentry","category-analytics","tag-arcpy","tag-charts","tag-covid","tag-notebook","product-arcgis-pro"],"acf":{"short_description":"Learn how to visualize and explore your data with ArcGIS Pro charts in Python!","flexible_content":[{"acf_fc_layout":"content","content":"<p><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/analysis\/geoprocessing\/charts\/what-is-a-chart-.htm\" target=\"_blank\" rel=\"noopener\">ArcGIS Pro Charts<\/a>\u00a0provide a powerful way to visualize and explore your data, helping to uncover patterns, trends, relationships, and structure that might not be apparent when looking at a table or map. The Charts development team has been working to add chart capabilities to\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/arcpy\/get-started\/what-is-arcpy-.htm\" target=\"_blank\" rel=\"noopener\">ArcPy<\/a>, to support automation and spatial data science workflows using Python. It\u2019s possible to do all your data preparation, visualization, and analysis completely inside ArcGIS\u2014but you can also mix-and-match the ArcGIS Python libraries with your other favorite libraries.<\/p>\n<p>This blog post demonstrates ArcPy Charts functionality by visualizing characteristics and trends of the COVID-19 pandemic in the United States during 2020. The raw code is available in code blocks below, but it is best viewed in notebook format, which is <a href=\"https:\/\/www.arcgis.com\/home\/item.html?id=5e08c75b489c416ca607f8a6a7f5c344\" target=\"_blank\" rel=\"noopener\">available to download<\/a> on ArcGIS.com.<\/p>\n<h2>Preparing the Data<\/h2>\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-InputPrompt jp-InputArea-prompt\">To get started, I&#8217;ll load and prepare the data using <a href=\"https:\/\/pandas.pydata.org\/\">pandas<\/a>, but you can use whatever Python tools you prefer. I&#8217;m acquiring the data from the New York Times COVID-19 data repository (publicly accessible\u00a0<a href=\"https:\/\/github.com\/nytimes\/covid-19-data\" target=\"_blank\" rel=\"noopener\">here<\/a>), and I&#8217;m filtering the data to include only dates from the complete year of 2020.<\/div>\n<\/div>\n<pre><code><span style=\"color: #008000\">import<\/span> pandas <span style=\"color: #008000\">as<\/span> pd\r\n<span style=\"color: #008000\">from<\/span> arcgis.features <span style=\"color: #008000\">import<\/span> GeoAccessor\r\n<span style=\"color: #008000\">import<\/span> arcpy\r\n\r\nDATA_URL = <span style=\"color: #ba2121\">'https:\/\/raw.githubusercontent.com\/nytimes\/covid-19-data\/master\/us-states.csv'<\/span>\r\n\r\n# load data with pandas, create new fields, and filter\r\ndaily_df = (\r\n    pd.read_csv(DATA_URL, parse_dates=[<span style=\"color: #ba2121\">'date'<\/span>])\r\n        .sort_values([<span style=\"color: #ba2121\">'state'<\/span>, <span style=\"color: #ba2121\">'date'<\/span>])\r\n        .rename(columns={\r\n            'cases': <span style=\"color: #ba2121\">'cases_total'<\/span>,\r\n            'deaths': <span style=\"color: #ba2121\">'deaths_total'<\/span>\r\n        })\r\n        .assign(\r\n            cases_new = <span style=\"color: #008000\">lambda<\/span> df: df.groupby(<span style=\"color: #ba2121\">'state'<\/span>)[<span style=\"color: #ba2121\">'cases_total'<\/span>].diff().clip(lower=0),\r\n            deaths_new = <span style=\"color: #008000\">lambda<\/span> df: df.groupby(<span style=\"color: #ba2121\">'state'<\/span>)[<span style=\"color: #ba2121\">'deaths_total'<\/span>].diff().clip(lower=0)\r\n        )\r\n        .query(<span style=\"color: #ba2121\">\"'2020-01-01' &lt;= date &lt;= '2020-12-31'\"<\/span>)\r\n        .reset_index(drop=True)\r\n)\r\n<\/code><\/pre>\n<p>Here&#8217;s a quick look at the prepared dataset. Notice that there is an individual row for each date and state combination. These rows will be summarized and aggregated when I visualize this data with charts.<\/p>\n<table>\n<thead>\n<tr style=\"text-align: right\">\n<th>date<\/th>\n<th>state<\/th>\n<th>fips<\/th>\n<th>cases_total<\/th>\n<th>deaths_total<\/th>\n<th>cases_new<\/th>\n<th>deaths_new<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>2020-03-13<\/td>\n<td>Alabama<\/td>\n<td>1<\/td>\n<td>6<\/td>\n<td>0<\/td>\n<td>NaN<\/td>\n<td>NaN<\/td>\n<\/tr>\n<tr>\n<td>2020-03-14<\/td>\n<td>Alabama<\/td>\n<td>1<\/td>\n<td>12<\/td>\n<td>0<\/td>\n<td>6.0<\/td>\n<td>0.0<\/td>\n<\/tr>\n<tr>\n<td>2020-03-15<\/td>\n<td>Alabama<\/td>\n<td>1<\/td>\n<td>23<\/td>\n<td>0<\/td>\n<td>11.0<\/td>\n<td>0.0<\/td>\n<\/tr>\n<tr>\n<td>2020-03-16<\/td>\n<td>Alabama<\/td>\n<td>1<\/td>\n<td>29<\/td>\n<td>0<\/td>\n<td>6.0<\/td>\n<td>0.0<\/td>\n<\/tr>\n<tr>\n<td>2020-03-17<\/td>\n<td>Alabama<\/td>\n<td>1<\/td>\n<td>39<\/td>\n<td>0<\/td>\n<td>10.0<\/td>\n<td>0.0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Currently, pandas data structures cannot be directly used to create an ArcPy chart\u2014though we hope to add this ability in the future. Instead you must convert your data to a supported format such as a\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/arcpy\/mapping\/layer-class.htm\" target=\"_blank\" rel=\"noopener\">Layer<\/a>\u00a0or\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/arcpy\/mapping\/table-class.htm\" target=\"_blank\" rel=\"noopener\">Table<\/a> object, a dataset path, or a feature service URL. For this demo, I&#8217;ll save the pandas DataFrame as a CSV file and then copy the rows to an <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/analysis\/geoprocessing\/basics\/the-in-memory-workspace.htm\" target=\"_blank\" rel=\"noopener\">in-memory <\/a> table:<\/p>\n<pre><code>daily_df.to_csv(<span style=\"color: #ba2121\">'covid_daily.csv'<\/span>)\r\narcpy.management.CopyRows(<span style=\"color: #ba2121\">'covid_daily.csv'<\/span>, <span style=\"color: #ba2121\">'memory\/covid_daily'<\/span>)<\/code><\/pre>\n<div class=\"jp-Cell-inputWrapper\">\n<div class=\"jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput \" data-mime-type=\"text\/markdown\">\n<h2 id=\"Visualizing-the-Data\">Visualizing the Data<\/h2>\n<\/div>\n<\/div>\n<div>\n<p>Now that I&#8217;ve prepared the data with the proper fields and saved it in a supported format, I can explore it using ArcPy charts!<\/p>\n<p>First, I&#8217;ll start simple and create a <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/analysis\/geoprocessing\/charts\/bar-chart.htm\" target=\"_blank\" rel=\"noopener\">bar chart<\/a>\u00a0showing the total COVID cases for each state. I do this by initializing an ArcPy\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/arcpy\/classes\/chart.htm\" target=\"_blank\" rel=\"noopener\">Chart<\/a>\u00a0object and configuring the properties. As illustrated in the table above, the dataset contains one row for each\u00a0<code>state<\/code>\u00a0and\u00a0<code>date<\/code>\u00a0combination, so here I use a\u00a0<code>sum<\/code>\u00a0aggregation to calculate the total\u00a0<code>cases_new<\/code>\u00a0values for each state. Also take note of the\u00a0<code>dataSource<\/code> property, which is used to specify the dataset you want to visualize. Here I&#8217;m configuring the chart to use the CSV table I created above.<\/p>\n<\/div>\n<pre><code>c = arcpy.Chart(<span style=\"color: #ba2121\">'bar_covid_by_state'<\/span>)\r\nc.type = <span style=\"color: #ba2121\">'bar'<\/span>\r\nc.title = <span style=\"color: #ba2121\">\"Total COVID Cases by State\"<\/span>\r\nc.xAxis.field = <span style=\"color: #ba2121\">'state'<\/span>\r\nc.xAxis.title= <span style=\"color: #ba2121\">\"State\"<\/span>\r\nc.yAxis.field = <span style=\"color: #ba2121\">'cases_new'<\/span>\r\nc.yAxis.title = <span style=\"color: #ba2121\">\"Cases\"<\/span>\r\nc.bar.aggregation = <span style=\"color: #ba2121\">'sum'<\/span>\r\nc.dataSource = <span style=\"color: #ba2121\">'memory\/covid_daily'<\/span>\r\nc.exportToSVG(<span style=\"color: #ba2121\">'bar_covid_by_state.svg'<\/span>)<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":1122102,"id":1122102,"title":"Total COVID Cases by State","filename":"output1-1.png","filesize":11358,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\/output1-2","alt":"Total COVID Cases by State","author":"157441","description":"","caption":"","name":"output1-2","status":"inherit","uploaded_to":1121572,"date":"2021-01-23 01:11:14","modified":"2021-01-28 22:55:10","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":400,"height":300,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1.png","medium-width":348,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1.png","medium_large-width":400,"medium_large-height":300,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1.png","large-width":400,"large-height":300,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1.png","1536x1536-width":400,"1536x1536-height":300,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1.png","2048x2048-width":400,"2048x2048-height":300,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1.png","card_image-width":400,"card_image-height":300,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output1-1.png","wide_image-width":400,"wide_image-height":300}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The chart above is a good first attempt, but it&#8217;s very difficult to read due to the small size. I&#8217;ll make the chart larger by setting the chart object&#8217;s\u00a0<code>displaySize<\/code>\u00a0property. I&#8217;ll also arrange the bars in a more logical way by sorting them to be in descending order from most cases to fewest cases.<\/p>\n<pre><code>\r\nc = arcpy.Chart(<span style=\"color: #ba2121\">'bar_covid_by_state_desc'<\/span>)\r\nc.type = <span style=\"color: #ba2121\">'bar'<\/span>\r\nc.title = <span style=\"color: #ba2121\">\"Total COVID Cases by State\"<\/span>\r\nc.xAxis.field = <span style=\"color: #ba2121\">'state'<\/span>\r\nc.xAxis.title = <span style=\"color: #ba2121\">\"State\"<\/span>\r\nc.yAxis.field = <span style=\"color: #ba2121\">'cases_new'<\/span>\r\nc.yAxis.title = <span style=\"color: #ba2121\">\"Cases\"<\/span>\r\nc.yAxis.sort = <span style=\"color: #ba2121\">'DESC'<\/span>\r\nc.bar.aggregation = <span style=\"color: #ba2121\">'sum'<\/span>\r\nc.displaySize = <span style=\"color: #008000\">900, 400<\/span>\r\nc.dataSource = <span style=\"color: #ba2121\">'memory\/covid_daily'<\/span>\r\nc.exportToSVG(<span style=\"color: #ba2121\">'bar_covid_by_state_desc.svg'<\/span>)\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":1122162,"id":1122162,"title":"Total COVID Cases by State","filename":"output2.png","filesize":19951,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\/output2","alt":"Total COVID Cases by State","author":"157441","description":"","caption":"","name":"output2","status":"inherit","uploaded_to":1121572,"date":"2021-01-23 01:12:27","modified":"2021-01-28 22:54:55","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":900,"height":400,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2.png","medium-width":464,"medium-height":206,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2.png","medium_large-width":768,"medium_large-height":341,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2.png","large-width":900,"large-height":400,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2.png","1536x1536-width":900,"1536x1536-height":400,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2.png","2048x2048-width":900,"2048x2048-height":400,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2-826x367.png","card_image-width":826,"card_image-height":367,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output2.png","wide_image-width":900,"wide_image-height":400}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Now I&#8217;ll take a look at new cases per day for the entire United States by creating a bar chart with a date field on the X axis and the total aggregated daily COVID cases on the Y axis.<\/p>\n<pre><code>c = arcpy.Chart(<span style=\"color: #ba2121\">'bar_covid_daily'<\/span>)\r\nc.type = <span style=\"color: #ba2121\">'bar'<\/span>\r\nc.title = <span style=\"color: #ba2121\">\"Total COVID Cases by Day\"<\/span>\r\nc.xAxis.field = <span style=\"color: #ba2121\">'date'<\/span>\r\nc.xAxis.title = <span style=\"color: #ba2121\">\"Day\"<\/span>\r\nc.yAxis.field = <span style=\"color: #ba2121\">'cases_new'<\/span>\r\nc.yAxis.title = <span style=\"color: #ba2121\">\"New Cases\"<\/span>\r\nc.bar.aggregation = <span style=\"color: #ba2121\">'sum'<\/span>\r\nc.color = [<span style=\"color: #ba2121\">'#fac9c7'<\/span>]\r\nc.displaySize = <span style=\"color: #008000\">800, 500<\/span>\r\nc.dataSource = <span style=\"color: #ba2121\">'memory\/covid_daily'<\/span>\r\nc.exportToSVG(<span style=\"color: #ba2121\">'bar_covid_daily.svg'<\/span>)\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":1122142,"id":1122142,"title":"Total COVID Cases by Day","filename":"output3.png","filesize":14787,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\/output3","alt":"Total COVID Cases by Day","author":"157441","description":"","caption":"","name":"output3","status":"inherit","uploaded_to":1121572,"date":"2021-01-23 01:12:00","modified":"2021-01-28 22:54:36","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":500,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3.png","medium-width":418,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3.png","medium_large-width":768,"medium_large-height":480,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3.png","large-width":800,"large-height":500,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3.png","1536x1536-width":800,"1536x1536-height":500,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3.png","2048x2048-width":800,"2048x2048-height":500,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3-744x465.png","card_image-width":744,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output3.png","wide_image-width":800,"wide_image-height":500}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The above chart is helpful for understanding the trajectory of daily COVID cases in the US, but this chart is difficult to interpret due to the existence of noise in the dataset. As time progresses, you can see that the bars form many peaks and valleys, and this cyclical pattern is most likely due to inconsistent reporting of COVID cases. To combat this noise, I can re-create the same chart, but this time I&#8217;ll include a moving average line. Moving averages are useful for smoothing out noise in a temporal dataset and highlighting the general pattern of the data.<\/p>\n<pre><code>c = arcpy.Chart(<span style=\"color: #ba2121\">'bar_covid_daily_moving_avg'<\/span>)\r\nc.type = <span style=\"color: #ba2121\">'bar'<\/span>\r\nc.title = <span style=\"color: #ba2121\">\"Total COVID Cases by Day\"<\/span>\r\nc.xAxis.field = <span style=\"color: #ba2121\">'date'<\/span>\r\nc.xAxis.title = <span style=\"color: #ba2121\">\"Day\"<\/span>\r\nc.yAxis.field = <span style=\"color: #ba2121\">'cases_new'<\/span>\r\nc.yAxis.title = <span style=\"color: #ba2121\">\"New Cases\"<\/span>\r\nc.bar.aggregation = <span style=\"color: #ba2121\">'sum'<\/span>\r\nc.bar.showMovingAverage = <span style=\"color: #008000\">True<\/span>\r\nc.color = [<span style=\"color: #ba2121\">'#fac9c7'<\/span>]\r\nc.displaySize = <span style=\"color: #008000\">900, 500<\/span>\r\nc.dataSource = <span style=\"color: #ba2121\">'memory\/covid_daily'<\/span>\r\nc.exportToSVG(<span style=\"color: #ba2121\">'bar_covid_daily_moving_avg.svg'<\/span>)<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":1125132,"id":1125132,"title":"Total COVID Cases by Day","filename":"output4-3.png","filesize":22380,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\/output4-4","alt":"Total COVID Cases by Day","author":"157441","description":"","caption":"","name":"output4-4","status":"inherit","uploaded_to":1121572,"date":"2021-01-26 23:25:16","modified":"2021-01-28 22:54:07","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":824,"height":457,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3.png","medium-width":464,"medium-height":257,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3.png","medium_large-width":768,"medium_large-height":426,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3.png","large-width":824,"large-height":457,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3.png","1536x1536-width":824,"1536x1536-height":457,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3.png","2048x2048-width":824,"2048x2048-height":457,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3.png","card_image-width":824,"card_image-height":457,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output4-3.png","wide_image-width":824,"wide_image-height":457}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>I can also view aggregated COVID cases over time from a slightly different perspective by creating a\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/analysis\/geoprocessing\/charts\/calendar-heat-chart.htm\" target=\"_blank\" rel=\"noopener\">calendar heat chart<\/a>. This chart aggregates daily cases and displays them in a calendar grid. The calendar heat chart is effective at showing a per day summary of temporal data, particularly when the values are unevenly distributed, as the color for each cell is determined by a graduated natural breaks scheme.<\/p>\n<pre><code>c = arcpy.Chart(<span style=\"color: #ba2121\">'chc_covid_daily'<\/span>)\r\nc.type = <span style=\"color: #ba2121\">'calendarHeatChart'<\/span>\r\nc.title = <span style=\"color: #ba2121\">\"Total COVID Cases by Day\"<\/span>\r\nc.xAxis.field = <span style=\"color: #ba2121\">'date'<\/span>\r\nc.xAxis.title = <span style=\"color: #ba2121\">\"Day\"<\/span>\r\nc.yAxis.field = <span style=\"color: #ba2121\">'cases_new'<\/span>\r\nc.yAxis.title = <span style=\"color: #ba2121\">\"Month\"<\/span>\r\nc.calendarHeatChart.aggregation = <span style=\"color: #ba2121\">'sum'<\/span>\r\nc.displaySize = <span style=\"color: #008000\">900, 500<\/span>\r\nc.dataSource = <span style=\"color: #ba2121\">'memory\/covid_daily'<\/span>\r\nc.exportToSVG(<span style=\"color: #ba2121\">'chc_covid_daily.svg'<\/span>)<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":1122112,"id":1122112,"title":"Total COVID Cases by Day","filename":"output5.png","filesize":13007,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\/output5","alt":"Total COVID Cases by Day","author":"157441","description":"","caption":"","name":"output5","status":"inherit","uploaded_to":1121572,"date":"2021-01-23 01:11:45","modified":"2021-01-28 22:53:53","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":900,"height":500,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5.png","medium-width":464,"medium-height":258,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5.png","medium_large-width":768,"medium_large-height":427,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5.png","large-width":900,"large-height":500,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5.png","1536x1536-width":900,"1536x1536-height":500,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5.png","2048x2048-width":900,"2048x2048-height":500,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5-826x459.png","card_image-width":826,"card_image-height":459,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output5.png","wide_image-width":900,"wide_image-height":500}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Having visualized the daily COVID cases aggregated for the entire country, I may also be interested in comparing daily cases between states. To do this, I&#8217;ll create a\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/analysis\/geoprocessing\/charts\/line-chart.htm\" target=\"_blank\" rel=\"noopener\">line chart<\/a>\u00a0and split the data by the\u00a0<code>state<\/code>\u00a0field. This creates a separate line for each state.<\/p>\n<pre><code>c = arcpy.Chart(<span style=\"color: #ba2121\">'line_covid_daily_by_state'<\/span>)\r\nc.type = <span style=\"color: #ba2121\">'line'<\/span>\r\nc.title = <span style=\"color: #ba2121\">\"Total Cases by Day\"<\/span>\r\nc.xAxis.field = <span style=\"color: #ba2121\">'date'<\/span>\r\nc.xAxis.title = <span style=\"color: #ba2121\">\"Day\"<\/span>\r\nc.yAxis.field = <span style=\"color: #ba2121\">'cases_new'<\/span>\r\nc.yAxis.title = <span style=\"color: #ba2121\">\"New Cases\"<\/span>\r\nc.yAxis.minimum = <span style=\"color: #008000\">0<\/span>\r\nc.line.aggregation = <span style=\"color: #ba2121\">'sum'<\/span>\r\nc.line.splitCategory = <span style=\"color: #ba2121\">'state'<\/span>\r\nc.line.timeIntervalSize = <span style=\"color: #008000\">1<\/span>\r\nc.line.timeIntervalUnits = <span style=\"color: #ba2121\">'DAYS'<\/span>\r\nc.displaySize = <span style=\"color: #008000\">900, 500<\/span>\r\nc.dataSource = <span style=\"color: #ba2121\">'memory\/covid_daily'<\/span>\r\nc.exportToSVG(<span style=\"color: #ba2121\">'line_covid_daily_by_state.svg'<\/span>)\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":1127962,"id":1127962,"title":"Total COVID Cases by Day","filename":"output6-1.png","filesize":37949,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\/output6-2","alt":"Total COVID Cases by Day","author":"157441","description":"","caption":"","name":"output6-2","status":"inherit","uploaded_to":1121572,"date":"2021-01-29 20:29:59","modified":"2021-01-29 20:30:23","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":784,"height":413,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1.png","medium-width":464,"medium-height":244,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1.png","medium_large-width":768,"medium_large-height":405,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1.png","large-width":784,"large-height":413,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1.png","1536x1536-width":784,"1536x1536-height":413,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1.png","2048x2048-width":784,"2048x2048-height":413,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1.png","card_image-width":784,"card_image-height":413,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output6-1.png","wide_image-width":784,"wide_image-height":413}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Above, you can see that line charts become messy and difficult to interpret when many series are displayed (such charts are sometimes referred to pejoratively as\u00a0<a href=\"https:\/\/www.data-to-viz.com\/caveat\/spaghetti.html\" target=\"_blank\" rel=\"noopener\">spaghetti plots<\/a>). New in ArcGIS Pro 2.7, I can display this data in a clearer way by creating a\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/analysis\/geoprocessing\/charts\/matrix-heat-chart.htm#GUID-44D462F3-5E67-46DD-BD1C-862003D2EA5C\" target=\"_blank\" rel=\"noopener\">matrix heat chart<\/a>. Matrix heat charts are used to visualize relationships between categorical or date fields with a grid of shaded cells. Here I want to view each state on the Row axis and each day on the Column axis, and I&#8217;ll use the\u00a0<code>cases_new<\/code>\u00a0field to determine the intensity of the cell shading.<\/p>\n<pre><code>c = arcpy.Chart(<span style=\"color: #ba2121\">'mhc_covid_by_state'<\/span>)\r\nc.type = <span style=\"color: #ba2121\">'matrixHeatchart'<\/span>\r\nc.title = <span style=\"color: #ba2121\">\"Daily COVID Cases by State\"<\/span>\r\nc.xAxis.field = <span style=\"color: #ba2121\">'date'<\/span>\r\nc.xAxis.title = <span style=\"color: #ba2121\">'Day'<\/span>\r\nc.yAxis.field = [<span style=\"color: #ba2121\">'state'<\/span>, <span style=\"color: #ba2121\">'cases_new'<\/span>]\r\nc.yAxis.title = <span style=\"color: #ba2121\">'State'<\/span>\r\nc.matrixHeatChart.aggregation = <span style=\"color: #ba2121\">'sum'<\/span>\r\nc.matrixHeatChart.classificationMethod = <span style=\"color: #ba2121\">'naturalBreaks'<\/span>\r\nc.matrixHeatChart.classCount = <span style=\"color: #008000\">7<\/span>\r\nc.matrixHeatChart.nullPolicy = <span style=\"color: #ba2121\">'zero'<\/span>\r\nc.legend.title = <span style=\"color: #ba2121\">\"Number of Cases\"<\/span>\r\nc.displaySize = <span style=\"color: #008000\">800, 1200<\/span>\r\nc.dataSource = <span style=\"color: #ba2121\">'memory\/covid_daily'<\/span>\r\nc.exportToSVG(<span style=\"color: #ba2121\">'mhc_covid_by_state.svg'<\/span>)\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":1122132,"id":1122132,"title":"Daily COVID Cases by State","filename":"output7.png","filesize":64138,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\/output7","alt":"Daily COVID Cases by State","author":"157441","description":"","caption":"","name":"output7","status":"inherit","uploaded_to":1121572,"date":"2021-01-23 01:11:55","modified":"2021-01-28 22:53:20","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":800,"height":1200,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7.png","medium-width":174,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7.png","medium_large-width":768,"medium_large-height":1152,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7.png","large-width":720,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7.png","1536x1536-width":800,"1536x1536-height":1200,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7.png","2048x2048-width":800,"2048x2048-height":1200,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7-310x465.png","card_image-width":310,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/output7-720x1080.png","wide_image-width":720,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>You can see that this chart allows for an easier comparison of daily COVID cases between states because each state is displayed as a separate row, whereas the line chart forces all states to compete for the same space.<\/p>\n<h2>Conclusion<\/h2>\n<p>Charts and ArcGIS Notebooks allow you to visually explore the patterns found in data with just a few simple lines of code. Dig into the\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/analysis\/geoprocessing\/charts\/what-is-a-chart-.htm\" target=\"_blank\" rel=\"noopener\">Pro Charts<\/a>\u00a0and\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/arcpy\/classes\/chart.htm\" target=\"_blank\" rel=\"noopener\">ArcPy Chart<\/a>\u00a0documentation to learn more about all the supported chart types and how you can configure them to suit your visualization needs. And keep in mind,\u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/analysis\/geoprocessing\/charts\/make-a-chart.htm\" target=\"_blank\" rel=\"noopener\">making a chart<\/a>\u00a0in the ArcGIS Pro UI is just as easy, and also provides interactivity between charts, maps, and tables. I hope that you&#8217;ll take advantage of ArcPy Charts and ArcGIS Notebooks in your next automation or spatial data science project!<\/p>\n"}],"authors":[{"ID":157441,"user_firstname":"Christopher","user_lastname":"Allen","nickname":"Christopher Allen","user_nicename":"callen","display_name":"Chris Allen","user_email":"callen@esri.com","user_url":"","user_registered":"2021-01-13 22:34:06","user_description":"Chris is a product engineer on the Pro Charts team, where he puts his background in GIS, data science, and visualization to good use.  In his free time, Chris enjoys taking walks, supporting the Milwaukee Bucks, and watching old episodes of Huell Howser on PBS.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/ca_smaller-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/ma_card.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/banner_mhc_stripped5-1.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using ArcGIS Notebooks and ArcPy Charts to Explore Data<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using ArcGIS Notebooks and ArcPy Charts to Explore Data\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-21T21:22:47+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\"},\"author\":{\"name\":\"Chris Allen\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/56dfaef3f02a3ce06f957e1efa80057b\"},\"headline\":\"Using ArcGIS Notebooks and ArcPy Charts to Explore Data\",\"datePublished\":\"2021-01-28T23:16:01+00:00\",\"dateModified\":\"2022-07-21T21:22:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\"},\"wordCount\":9,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcPy\",\"charts\",\"covid\",\"notebook\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\",\"name\":\"Using ArcGIS Notebooks and ArcPy Charts to Explore Data\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2021-01-28T23:16:01+00:00\",\"dateModified\":\"2022-07-21T21:22:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using ArcGIS Notebooks and ArcPy Charts to Explore Data\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/56dfaef3f02a3ce06f957e1efa80057b\",\"name\":\"Chris Allen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/ca_smaller-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/ca_smaller-213x200.jpg\",\"caption\":\"Chris Allen\"},\"description\":\"Chris is a product engineer on the Pro Charts team, where he puts his background in GIS, data science, and visualization to good use. In his free time, Chris enjoys taking walks, supporting the Milwaukee Bucks, and watching old episodes of Huell Howser on PBS.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/callen\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Using ArcGIS Notebooks and ArcPy Charts to Explore Data","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data","og_locale":"en_US","og_type":"article","og_title":"Using ArcGIS Notebooks and ArcPy Charts to Explore Data","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2022-07-21T21:22:47+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data"},"author":{"name":"Chris Allen","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/56dfaef3f02a3ce06f957e1efa80057b"},"headline":"Using ArcGIS Notebooks and ArcPy Charts to Explore Data","datePublished":"2021-01-28T23:16:01+00:00","dateModified":"2022-07-21T21:22:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data"},"wordCount":9,"commentCount":2,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcPy","charts","covid","notebook"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data","name":"Using ArcGIS Notebooks and ArcPy Charts to Explore Data","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2021-01-28T23:16:01+00:00","dateModified":"2022-07-21T21:22:47+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/analytics\/using-arcgis-notebooks-and-arcpy-charts-to-explore-data#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Using ArcGIS Notebooks and ArcPy Charts to Explore Data"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/56dfaef3f02a3ce06f957e1efa80057b","name":"Chris Allen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/ca_smaller-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/ca_smaller-213x200.jpg","caption":"Chris Allen"},"description":"Chris is a product engineer on the Pro Charts team, where he puts his background in GIS, data science, and visualization to good use. In his free time, Chris enjoys taking walks, supporting the Milwaukee Bucks, and watching old episodes of Huell Howser on PBS.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/callen"}]}},"text_date":"January 28, 2021","author_name":"Chris Allen","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/callen","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2021\/01\/banner_mhc_stripped5-1.png","primary_product":"ArcGIS Pro","tag_data":[{"term_id":31181,"name":"ArcPy","slug":"arcpy","term_group":0,"term_taxonomy_id":31181,"taxonomy":"post_tag","description":"","parent":0,"count":32,"filter":"raw"},{"term_id":30821,"name":"charts","slug":"charts","term_group":0,"term_taxonomy_id":30821,"taxonomy":"post_tag","description":"","parent":0,"count":46,"filter":"raw"},{"term_id":758532,"name":"covid","slug":"covid","term_group":0,"term_taxonomy_id":758532,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":758522,"name":"notebook","slug":"notebook","term_group":0,"term_taxonomy_id":758522,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1329,"filter":"raw"}],"product_data":[{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2037,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-pro","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1121572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/157441"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=1121572"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/1121572\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=1121572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=1121572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=1121572"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=1121572"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=1121572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}