I have two questions regarding creating the legend in ArcMap 10.2.2:

  1. In the attribute table of my shapefile I change the number of decimals from 6 to 2; I can see the changes in the attribute table but in the legend and symbology still the full values are shown. So the question is how can I have the number of decimals that I need in symbology and legend.
  2. I created a legend to show two fields by using " categories" option of symbology. As you see the values are not in a column (Image). I want to know How can I have two nice individual columns for my text and values.

enter image description here

  • You can manually edit your labels in the layers's property and use a fixed font for your legend (like Lucida Console). If that seems too hard put your descriptions in two columns as a text box with a white background and place it over your legend (very dodgy). Commented Mar 26, 2015 at 1:45
  • As mentioned in the Tour remember that our focussed Q&A format works best with one question per question.
    – PolyGeo
    Commented Mar 26, 2015 at 1:48
  • Add text field and populate it (Python) using '%.2f' %!FloatIng!. Use values in this field as second column in legend. By playing with formatting string you can achieve second objective
    – FelixIP
    Commented Mar 26, 2015 at 1:54
  • @MichaelMiles-Stimson : Thanks for your suggestion. it is dodgy but also handy.
    – Kaveh
    Commented Mar 26, 2015 at 5:21
  • @PolyGeo: I will keep in mind.
    – Kaveh
    Commented Mar 26, 2015 at 5:22

1 Answer 1


just to sum up, each label is a single string that is independant from the others. Therefore the easiest way is to convert your legend to graphic, then you unsplit it and edit the text line by line. However, if you have a very large number of cases, you can create a new field for your legend, based on the concatenation of your input fields. Then you use this as a single attribute symbology.

create a text field

concatenate the field values and fill with white spaces between conversion and diff (here I took max 40 characters, 36 seems to be your maximum)

!conversion! + " "*(40-len(!conversion!)) +  '%.2f' %!Diff!
  • Is this the only way? I wish there was a method, something like "label expression" that we could use instead of having to make a new field in attribute table. Or "insert table" just like insert legend, but has the options to choose which fields and whether to show the legend box or not. Commented Nov 4, 2021 at 20:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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