Select to view content in your preferred language

Arcade and charts in arcgis pro

1510
7
Jump to solution
06-08-2023 06:33 AM
PSGeo
by
Regular Contributor

Dear all,
I am new using charts in arcgis pro. I am bit disappointed about the charts until now. But maybe I am not doing well enough.
An example, I have a table with vehicles with different symbol based on the attribute type of vehicle: simple symbol with colour change according to the attribute: bikes red, cars blue and motorbikes violet, etc.. Why there is no option to associate the colour of your graphs with the colour of your symbols in the map for that fc?
Why the bar chart does not allow having data distributed by dates? An example, I want to see the vehicles categorized by type of vehicle per years. Is this possible? Is it also possible having the count coming on a table with the lines having the type of vehicles and columns with dates?
Do you guys remember to have pie charts to show small differences between two dates as an exercise in the university? Something like: imagine the number of cars, bikes, trucks for two distinct years shown proportionally on a pie chart divided in the middle with one year in one side and the other year on the other side and both showing those attributes. Is this possible in arcgis pro?
Maybe using arcade?
cheers

0 Kudos
2 Solutions

Accepted Solutions
ChristopherAllen
Esri Contributor

Hi @PSGeo , a few of these questions have been covered here and here, but I wanted to also follow-up directly in this post. 

An example, I have a table with vehicles with different symbol based on the attribute type of vehicle: simple symbol with colour change according to the attribute: bikes red, cars blue and motorbikes violet, etc.. Why there is no option to associate the colour of your graphs with the colour of your symbols in the map for that fc?


Charts should automatically match the symbology colors when possible. For instance, here the layer is using Single Symbol symbology and the bar chart matches the layer color:

ChristopherAllen_0-1705965644322.png

Similarly, bar charts will match Unique Values symbology when the layer symbology uses the same field that’s used for the bar chart Category or Date parameter:

ChristopherAllen_1-1705965644350.png

Why the bar chart does not allow having data distributed by dates? An example, I want to see the vehicles categorized by type of vehicle per years. Is this possible? 

Bar charts support date fields and it’s possible to apply a Split By field to a temporal bar chart to see the breakdown of different categories over time. For instance, here I’ve created a temporal bar chart using the “Created Date” field and then each time bin is split into category groups using the “Borough” field:

ChristopherAllen_2-1705965728005.png

 


Is it also possible having the count coming on a table with the lines having the type of vehicles and columns with dates?

It is possible to export a chart as a data table using the Export As Table option:

ChristopherAllen_3-1705965837245.png

Here’s a snippet of the data table that's exported for the temporal bar chart above:

ChristopherAllen_4-1705965837247.png


Do you guys remember to have pie charts to show small differences between two dates as an exercise in the university? Something like: imagine the number of cars, bikes, trucks for two distinct years shown proportionally on a pie chart divided in the middle with one year in one side and the other year on the other side and both showing those attributes. Is this possible in arcgis pro?
Maybe using arcade?

We discussed this a bit in this Pro Idea but I’ll elaborate here. As I mentioned, we do not currently support the kind of chart you described, but I would suggest a multiseries pie chart as an alternative. This involves setting the Split By field for the pie chart. Since date fields are not allowed in the Split By parameter, you can create an Arcade expression to extract the year. When a Split By field is set, the pie chart will display as a grid of mini-charts where each mini-chart shows data for a specific year:

ChristopherAllen_5-1705965884093.png

Alternatively, a 100% stacked bar chart is another good option for viewing proportional changes over time. Here I’ve created a bar chart that shows the years on the x-axis and the y-axis shows the breakdown of “Complaint Type” values. The important step here is to set the Display multiple series as dropdown to “100% Stacked”. The resulting chart clearly shows the part-to-whole relationship between the categories as they change over the time:

ChristopherAllen_6-1705965884099.png

Thanks!

View solution in original post

ChristopherAllen
Esri Contributor

Thanks for the questions!


When do you think date fields will be allowed for charts. At the moment we have to use a text field on the table to generate the date (in case we want a bar per date) or we can use your arcade solution from above. (by the way, could you post a good arcade briefing for different uses - in arcgis pro for charts and pop-ups, AGOL, and Portal).

Could you please post a snippet of the data you’re working with? Bar charts are designed to work with temporal data that’s in a “long” format (ie, each date observation is a separate row). If your data is currently in a “wide” format (ie, each date observation is a separate column), I would suggest transforming your data to a “long” format using the Transpose Fields tool. Please see my post below for more details. 

Here are some Arcade resources:

 

Please , do not forget this idea!

We won't!

Finally, I was wondering if you can have two variables from different GDBs in the same chart? would it be possible in the future? For our work, we have status of vehicle per date. Example: GDB1: car/ broken/01-01-2024; GDB2: car/repairing/02-01-2024; etc.

It is not currently possible to use multiple datasets in a single chart. I’d recommend using the Merge tool to combine all of your data into a single dataset, which can then be used to create charts.

Thanks,

Chris

 

 

 

View solution in original post

7 Replies
ChristopherAllen
Esri Contributor

Hi @PSGeo , a few of these questions have been covered here and here, but I wanted to also follow-up directly in this post. 

An example, I have a table with vehicles with different symbol based on the attribute type of vehicle: simple symbol with colour change according to the attribute: bikes red, cars blue and motorbikes violet, etc.. Why there is no option to associate the colour of your graphs with the colour of your symbols in the map for that fc?


Charts should automatically match the symbology colors when possible. For instance, here the layer is using Single Symbol symbology and the bar chart matches the layer color:

ChristopherAllen_0-1705965644322.png

Similarly, bar charts will match Unique Values symbology when the layer symbology uses the same field that’s used for the bar chart Category or Date parameter:

ChristopherAllen_1-1705965644350.png

Why the bar chart does not allow having data distributed by dates? An example, I want to see the vehicles categorized by type of vehicle per years. Is this possible? 

Bar charts support date fields and it’s possible to apply a Split By field to a temporal bar chart to see the breakdown of different categories over time. For instance, here I’ve created a temporal bar chart using the “Created Date” field and then each time bin is split into category groups using the “Borough” field:

ChristopherAllen_2-1705965728005.png

 


Is it also possible having the count coming on a table with the lines having the type of vehicles and columns with dates?

It is possible to export a chart as a data table using the Export As Table option:

ChristopherAllen_3-1705965837245.png

Here’s a snippet of the data table that's exported for the temporal bar chart above:

ChristopherAllen_4-1705965837247.png


Do you guys remember to have pie charts to show small differences between two dates as an exercise in the university? Something like: imagine the number of cars, bikes, trucks for two distinct years shown proportionally on a pie chart divided in the middle with one year in one side and the other year on the other side and both showing those attributes. Is this possible in arcgis pro?
Maybe using arcade?

We discussed this a bit in this Pro Idea but I’ll elaborate here. As I mentioned, we do not currently support the kind of chart you described, but I would suggest a multiseries pie chart as an alternative. This involves setting the Split By field for the pie chart. Since date fields are not allowed in the Split By parameter, you can create an Arcade expression to extract the year. When a Split By field is set, the pie chart will display as a grid of mini-charts where each mini-chart shows data for a specific year:

ChristopherAllen_5-1705965884093.png

Alternatively, a 100% stacked bar chart is another good option for viewing proportional changes over time. Here I’ve created a bar chart that shows the years on the x-axis and the y-axis shows the breakdown of “Complaint Type” values. The important step here is to set the Display multiple series as dropdown to “100% Stacked”. The resulting chart clearly shows the part-to-whole relationship between the categories as they change over the time:

ChristopherAllen_6-1705965884099.png

Thanks!

PSGeo
by
Regular Contributor

Thanks for the answer!

True about the colours. I admit, I was using complex symbology (two colours element) for my symbology (although, it has one colour predominant over the other).

I will be applying your suggestion on colours on my next maps/charts.

When do you think date fields will be allowed for charts. At the moment we have to use a text field on the table to generate the date (in case we want a bar per date) or we can use your arcade solution from above. (by the way, could you post a good arcade briefing for different uses - in arcgis pro for charts and pop-ups, AGOL, and Portal).

 

Please , do not forget this idea!

 

Finally, I was wondering if you can have two variables from different GDBs in the same chart? would it be possible in the future? For our work, we have status of vehicle per date. Example: GDB1: car/ broken/01-01-2024; GDB2: car/repairing/02-01-2024; etc.

All these for different vehicles. In the example above the car is always the same. The status field is always changing, but we keep the history of the status in the gdb. In the end we have a stacked bar chart where is shown the amount of vehicles that have been broke down, being repaired, operational for each date.

once again many thanks for the support!

cheers

PS

 

 

 

ChristopherAllen
Esri Contributor

Thanks for the questions!


When do you think date fields will be allowed for charts. At the moment we have to use a text field on the table to generate the date (in case we want a bar per date) or we can use your arcade solution from above. (by the way, could you post a good arcade briefing for different uses - in arcgis pro for charts and pop-ups, AGOL, and Portal).

Could you please post a snippet of the data you’re working with? Bar charts are designed to work with temporal data that’s in a “long” format (ie, each date observation is a separate row). If your data is currently in a “wide” format (ie, each date observation is a separate column), I would suggest transforming your data to a “long” format using the Transpose Fields tool. Please see my post below for more details. 

Here are some Arcade resources:

 

Please , do not forget this idea!

We won't!

Finally, I was wondering if you can have two variables from different GDBs in the same chart? would it be possible in the future? For our work, we have status of vehicle per date. Example: GDB1: car/ broken/01-01-2024; GDB2: car/repairing/02-01-2024; etc.

It is not currently possible to use multiple datasets in a single chart. I’d recommend using the Merge tool to combine all of your data into a single dataset, which can then be used to create charts.

Thanks,

Chris

 

 

 

PSGeo
by
Regular Contributor

I still need help on this: Is it also possible having the count coming on a table with the lines having the type of vehicles and columns with dates?
I understand the answer is calendar heat chart. is this possible, replacing the numbers by colour range?

Title of chart: Broken vehicles

 01/01/202402/01/202403/01/202404/01/2024
Volkswagen52315
Chevrolet21013
Ford01577
Seat11451

 

Cheers

 

0 Kudos
ChristopherAllen
Esri Contributor

Hi @PSGeo , 

It sounds like you want to plot this temporal data using a line chart or a calendar heat chart. In either case, this data will need to be reshaped to prepare it for charting. Your data is currently in a “wide” format where each observation is a separate column. To chart time series data, it’s often better to reshape the data to a “long” format, where each observation is a separate row. I used the Transpose Fields tool to reformat your table like so:

Car

Date

Count

Volkswagen

1/1/2024

5

Volkswagen

2/1/2024

23

Volkswagen

3/1/2024

1

Volkswagen

4/1/2024

5

Chevrolet

1/1/2024

2

Chevrolet

2/1/2024

10

Chevrolet

3/1/2024

1

Chevrolet

4/1/2024

3

Ford

1/1/2024

0

Ford

2/1/2024

15

Ford

3/1/2024

7

Ford

4/1/2024

7

Seat

1/1/2024

1

Seat

2/1/2024

14

Seat

3/1/2024

5

Seat

4/1/2024

1

 

Now that the data is in the correct format, I can create a line chart using the following parameters:

  • Date or Number: Date
  • Numeric field(s): Count
  • Split by: Car

ChristopherAllen_0-1706131620761.png

You could also use this reformatted data to create a calendar heat chart, although a calendar heat chart does not support a Split by field, so you’ll either have to plot all of the car types together on one chart or filter your data (eg using a definition query) and create separate calendar heat charts for each car type.

Hope this helps!

Thanks,

Chris

PSGeo
by
Regular Contributor

Hi,

I gave you the wrong idea. The table I have sent was for representing the idea for  final chart: Calendar heat chart.

What I have now for my FC is a table like this (I wanted to turn this into a calendar heat chart or any other chart that would highlight trends or peaks):

CarDateStatus
Volkswagen01/01/2024Broken
Ford02/01/2024Broken
Ford03/01/2024Broken
Chevrolet01/01/2024Broken
Etc.Etc.Etc.
ChristopherAllen
Esri Contributor

Hi @PSGeo ,

Sorry for the confusion—now I think I understand. Assuming that the “Date” field type is Date (if it isn’t, you’ll have to convert it), then then you should be able to plot this data using a calendar heat chart or a matrix heat chart. I’ve generated some fake data to illustrate these two options.

In a calendar heat chart, time is represented by two dimensions. Here I’m showing days of the month on the x-axis and months on the y-axis:

ChristopherAllen_0-1706215745774.png

 

However, a calendar heat chart does not allow you to split the data into groups, so it’s merely showing you the trend for all cars together.

A matrix heat chart will allow you to view temporal trends divided into groups. Here I’ve created a matrix heat chart that shows “date” on the x-axis and the “car” on the y-axis:

ChristopherAllen_1-1706215745780.png

 

This chart uses temporal binning (introduced in Pro 3.2) to aggregate dates into two week intervals. The chart allows you to see the patterns over time broken down by car type.

Please feel free to email me (callen@esri.com) if you want to discuss further. Thanks!

Chris

0 Kudos