4. Labeling¶
Goal: Add clean, professional labels that don't overlap, follow line geometry, and look great at print scale.
Two label engines¶
| Engine | When |
|---|---|
| Standard Label Engine | Quick, low overhead. Limited placement rules. |
| Maplex Label Engine | Use this. Far more rules: weight, fitting strategy, conflict resolution. |
Switch: Map ribbon → Label → More → Use Maplex Label Engine.
Turn on labels¶
- Right-click layer → Label.
- Or click the layer in Contents and toggle the Label button on the Feature Layer ribbon.
- By default it labels on the layer's
Namefield.
Pick the field & format¶
Open the Labeling ribbon (appears when a layer with labels is selected):
- Field — pick the attribute to label
- Symbol — font, size, color, halo
- Position — placement strategy
Use a label expression¶
For multi-field or formatted labels, click Expression. Choose Python or Arcade (newer, recommended).
Output:
Maplex placement rules¶
Open the Labeling tab → Position → click ⚙ for full Maplex options.
| Feature type | Common rule |
|---|---|
| Points | Best position (auto), then prefer right-of-point |
| Lines | "Curved" (follows the line), "Parallel" for straight roads |
| Polygons | "Horizontal" for compact polygons, "Curved" for elongated shapes (rivers) |
Conflict resolution¶
When labels collide, Maplex resolves by weight:
- Feature weight — how important is the feature itself?
- Label weight — how important is this label vs others?
- Background weight — push labels off (e.g., off other layers)
Set high weights for crucial features (state capitals) so they win when crowded.
Halos and callouts¶
A halo is a soft outline around the text — improves legibility on busy basemaps.
- White halo, 1 pt, 50% transparency = clean, readable.
- Avoid black halos (looks heavy).
For polygon callouts, use a leader line that links the label to the polygon.
Avoid these mistakes¶
Common labeling mistakes
- 🚫 Too small (<8 pt at print scale)
- 🚫 No halo on a complex basemap (unreadable)
- 🚫 Labeling every feature when only the most important matter
- 🚫 Wrong placement type (curved labels on a bunch of points)
Annotation (frozen labels)¶
Once labels are perfect, convert to annotation (right-click layer → Convert Labels → Annotation). Annotations are real features — you can move each one manually. Good for print maps where placement must be precise.
Practice¶
Labeled cities map
- Add a US Cities point layer.
- Filter to cities with
POP > 100000. - Label by
NAMEwith a Python expression:"{} ({:,})".format(!NAME!, !POP!). - Maplex → Best Position → Curved.
- White halo, 1 pt.
- Set scale-dependent labeling: only show below 1:5,000,000.
→ Next: Attribute Tables.