With ArcGIS, I have to display pie graphs for each community district. These pie graphs must show the top 5 cars for each district. I already have the spread sheet and the shapefile, where I can join the two. The problem is that there 10 types of cars within the spread sheet. How can I make pie graphs that reflect only the top 5 brands, and excludes all else, on a per District basis?

The spreadsheet looks something similar to this:

enter image description here

The result has to look something like this (notice the charts per every district):

enter image description here

  • Is it an option to do the charts in Excel and embed in the map? Excel is much better at charting than ArcGis (it's ok, ArcGis is much better at mapping than Excel) and can be embedded as an object. If you want a very nice finished product that's the way to go. May 29 '15 at 0:09
  • 1
    Instead of providing links to images that people may not follow I think you will be better to edit your question and use the picture button to embed them in your question.
    – PolyGeo
    May 29 '15 at 0:26

The short answer is you can't, at least not with that symbology method and in a single layer given the way your data is organized. A pie chart shows portions of a whole, and symbology for a layer must be based on the same fields. Each of your car brands is a separate field, so you must show all ten in every pie chart in order to ensure you show the top five since each district may have a distinct top five. Think about a single legend for that symbol - it would have to show all ten so you'd know what each color was.

There's only one way to pull this off (someone prove me wrong, please!), and you'd either need multiple legends (at least two) or a dummy layer to make a legend from. First you'd have to group your districts by creating a new field and classifying each according to a possible top five combo. So Ford Honda Toyota Mazda Chevy would be 1, Ford Honda Toyota Mazda Dodge would be 2, and so on. For the record, there are 252 possible combinations of five selections from ten choices with no repeats where order doesn't matter. You may have fewer groups than that since it's entirely possible not all combinations would be used.

Next you'd have to add your layer the same number of times as you end up with combinations and put a definition query on each so they only show the districts with the same top five. You could also add a dummy layer from a separate dataset that has a single row with equal numbers for all cars that would be used to create a neat legend.

With that done you have to symbolize each of the layers with the chart symbology, picking the correct top five attributes to be included and making sure to manually set consistent colors. Meaning Mazda is yellow everywhere, for example. You'd then have your desired map.

Depending on how many districts you have, it might be faster just to create individual charts for them (be that in Excel or ArcGIS) and scale/place over the district. Or just deal with showing all ten and not just the top five.

  • You are right, there are a limited number of methods to pull this off and Excel is indeed the superior way. Fortunately, I found a way outside GIS, that being Excel and using scripts.
    – user53178
    Jun 4 '15 at 3:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.