Is there a way, in the legend, to get the headings to stretch across multiple columns? For instance I have a layer with multiple attributes that are being displayed (in the example... fire hazard zones). In the example the Fire Hazard heading only sits above the left column when it would be better if it sat above both columns.

Sorry for the very basic question if there is a solution.

I am using ArcGIS 10.2 with standard license.

enter image description here


There is no way to stretch the heading across multiple columns using the built-in legend functionality in ArcMap. You could repeat the heading across both columns by splitting your layer into two, but that's probably not desirable.

My recommendation would be to hide the layer heading in your legend and use a static text element (e.g. Rectangle Text box) to show the heading text. That way you can fine-tune the placement of the heading for maximum visual appeal.

When doing batch mapping with arcpy.mapping, I frequently convert my legends to graphics to allow programmatic editing of legend text elements; this is also possible via the LegendElement object in Arc 10.2+ but there are irritating bugs with this approach where editing the class labels changes the symbology. You can also use Python to toggle element "visibility" by moving graphic elements and text elements outside the margins of the layout.

| improve this answer | |

As dmahr said, this isn't possible but there are workarounds. My normal one is to create a separate legend for those items and use the legend title for your text instead of the layer heading. The title can be centered above all the columns in the legend, unlike the layer name or layer heading. So in your example map, I'd create 3 legends: one for Fire Hazard Level, one for Tier Level, and one for all the other layers.

| improve this answer | |

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.