I'd like to create a circle label in ArcMap in the middle of each Polygon feature in my map document to shows the value of a particular attribute associated with that feature (like number of available stations). I'd like to represent the number of stations by the size of the label, so that the larger number of station in a particular feature is represented by the larger circle in that feature. Is there any possibility in ArcMap to do so? any help would be much appreciated.
You would do this by setting up a formatting expression for the labels you want to create.
This Knowledgebase article has a pretty thorough breakdown: HowTo: Include table fields in a VBScript label expression and use those values as dynamic font properties
This is what a sample expression from that page would look like. It is VBScript, but can be easily adapted to use Python. As you can see, the
[Text Size] field is being referenced to set the size of the label.
Here is the help document for more info on label expressions: ArcGIS 10.1: Building Label Expressions
Without using Annotation you can use "Setting scale ranges for label classes"
Some labels are most useful within a given scale range. For example, on a city map, a label class of all street names might be useful up to some minimum scale. As you zoom out beyond that scale, the labels would become too crowded—or too small, if there is a reference scale set—and you might prefer to display a label class that only showed major street names.
Setting a minimum scale for labels can improve the overall redraw performance of your map, making panning and zooming more responsive, as labels are only drawn within the scale range at which they are useful.
To improve label placement use the Maplex Label Engine instead of the standard engine.