ArcGIS Pro 2.7 API Reference Guide
ProportionalRendererDefinition Class
Members  Example 

ArcGIS.Desktop.Mapping Namespace : ProportionalRendererDefinition Class
Represents a proportional renderer definition to draw features proportionally to each other.
Object Model
ProportionalRendererDefinition ClassCIMPolygonSymbol ClassCIMSymbolReference ClassCIMSymbolReference ClassCIMSymbolReference ClassCIMSymbolReference Class
Syntax
public class ProportionalRendererDefinition : RendererDefinition 
Public Class ProportionalRendererDefinition 
   Inherits RendererDefinition
Remarks
Once you define a proportional renderer, you can call a FeatureLayer's CreateRenderer and SetRenderer methods to create and assign a renderer to a feature layer.
Example
Create a proportional renderer where minimum and maximum symbol sizes are capped.
string colorBrewerSchemesName = "ArcGIS Colors";
StyleProjectItem style = Project.Current.GetItems<StyleProjectItem>().First(s => s.Name == colorBrewerSchemesName);
string colorRampName = "Heat Map 4 - Semitransparent";
IList<ColorRampStyleItem> colorRampList = await QueuedTask.Run(() =>
{
  return style.SearchColorRamps(colorRampName);
});
ColorRampStyleItem colorRamp = colorRampList[0];

await QueuedTask.Run(() =>
{
  CIMPointSymbol pointSym = SymbolFactory.Instance.ConstructPointSymbol(ColorFactory.Instance.GreenRGB, 1.0, SimpleMarkerStyle.Circle);
  CIMSymbolReference symbolPointTemplate = pointSym.MakeSymbolReference();

        //minimum symbol size is capped to 4 point while the maximum symbol size is set to 50 point
        ProportionalRendererDefinition prDef = new ProportionalRendererDefinition("POPULATION", symbolPointTemplate, 4, 50, true)
  {

          //setting upper and lower size stops to stop symbols growing or shrinking beyond those thresholds
          UpperSizeStop = 5000000,  //features with values >= 5,000,000 will be drawn with maximum symbol size
          LowerSizeStop = 50000    //features with values <= 50,000 will be drawn with minimum symbol size
        };
  FeatureLayer flyr = MapView.Active.Map.Layers[0] as FeatureLayer;
  CIMProportionalRenderer propRndr = (CIMProportionalRenderer)flyr.CreateRenderer(prDef);
  flyr.SetRenderer(propRndr);

});
Create a proportional renderer where symbol size is same as feature attribute value.
string colorBrewerSchemesName = "ArcGIS Colors";
StyleProjectItem style = Project.Current.GetItems<StyleProjectItem>().First(s => s.Name == colorBrewerSchemesName);
string colorRampName = "Heat Map 4 - Semitransparent";
IList<ColorRampStyleItem> colorRampList = await QueuedTask.Run(() =>
{
  return style.SearchColorRamps(colorRampName);
});
ColorRampStyleItem colorRamp = colorRampList[0];

await QueuedTask.Run(() =>
{
  CIMPointSymbol pointSym = SymbolFactory.Instance.ConstructPointSymbol(ColorFactory.Instance.GreenRGB, 1.0, SimpleMarkerStyle.Circle);
  CIMSymbolReference symbolPointTemplate = pointSym.MakeSymbolReference();

        //Defining proportional renderer where size of symbol will be same as its value in field used in the renderer.
        ProportionalRendererDefinition prDef = new ProportionalRendererDefinition("POPULATION", esriUnits.esriMeters, symbolPointTemplate, SymbolShapes.Square, ValueRepresentations.Radius);

  FeatureLayer flyr = MapView.Active.Map.Layers[0] as FeatureLayer;
  CIMProportionalRenderer propRndr = (CIMProportionalRenderer)flyr.CreateRenderer(prDef);
  flyr.SetRenderer(propRndr);

});
Inheritance Hierarchy

System.Object
   ArcGIS.Desktop.Mapping.LayerDrawingDefinition
      ArcGIS.Desktop.Mapping.RendererDefinition
         ArcGIS.Desktop.Mapping.ProportionalRendererDefinition

Requirements

Target Platforms: Windows 10, Windows 8.1

See Also

Reference

ProportionalRendererDefinition Members
ArcGIS.Desktop.Mapping Namespace