This document is archived and information here might be outdated.  Recommended version.

IProportionalSymbolRenderer Interface (ArcObjects .NET 10.8 SDK)
ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Carto > ESRI.ArcGIS.Carto > Interfaces > IP > IProportionalSymbolRenderer Interface
ArcGIS Developer Help

IProportionalSymbolRenderer Interface

Provides access to members that control the drawing of varying size symbols for each feature, each sized in proportion to a field value.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Name Description
Read/write property BackgroundSymbol Background fill symbol used when proportional marker symbols are draw on polygon features.
Method CreateLegendSymbols Creates the legend. Call after all properties have been set.
Read/write property Field Value field.
Read/write property FlanneryCompensation Indicates if Flannery Compensation is applied.
Read/write property LegendSymbolCount Number of symbols displayed in the TOC and legend.
Write-only property MaxDataValue Normalized maximum data value.
Write-only property MinDataValue Normalized minimum data value.
Read/write property MinSymbol Symbol used to draw feature with the normalized minimum data value.
Read/write property NormField Normalization field.
Read/write property ValueRepresentation Representation type of the value field.
Read/write property ValueUnit Units of the value field.

Classes that implement IProportionalSymbolRenderer

Classes Description
ProportionalSymbolRenderer A proportional symbol renderer, used to draw symbols of varying size for each feature, sized in proportion to a field value.


You can use this interface to set up proportional symbol rendering for point, line, or area data. For example, if you have map tree locations as points, and an attribute reflecting the radius of the tree canopy, you can use proportional circles to depict the actual ground area covered by each tree.

If you have a feature layer of US States, you can create a population map of proportional marker symbols where there area of each symbol reflects the population for each state.

If you have a line layer representing rivers, you can symbolize these with line symbols with width proportional to the flow in each particular river line feature.

Known vs. Unknown Data Units

There are really two uses of proportional symbol rendering:

First, you can have a data field that represents an actual distance in the real world, such as the radius of a tree canopy in meters, or the width (actually diameter) of a water main in inches. In this case your units are known and you can use a ProportionalSymbolRenderer to draw a symbol on your map for each feature such that the area occupied by the feature on the map represents the actual area occupied in the real world.

Second, you may have a data field that represents a non-distance quantitiy, for example you might have county data and know the population of each county. This value does not represent a real world distance so the units are said to be unknown. In this case you can use the ProportionalSymbolRenderer to represent the relative population of each county. This is done by mapping a minimum symbol size, specified by MinSymbol, to the minimum data value of the population field. The MinSymbol is then scaled up proportionally based on the relative difference between the minimum population value and the value for a given county feature.

To learn more, see IProportionalSymbolRenderer::ValueUnit and IProportionalSymbolRenderer::ValueRepresentation.

.NET Samples

Multivariate renderer