draws a gauge showing value in the range 0 to 1.


draws a gauge showing value in a range of min to max.


allows value to be set interactively using the gauge.


draws a gauge showing multiple values.

Details and Options

  • Values less than min or greater than max are clipped to the respective limits.
  • Undefined values or bad input is taken to be missing and typically displays the min value.
  • Units may be assigned to value, min, and max by using Quantity.
  • The units do not need to be the same, but must be compatible.
  • AngularGauge has the same options as Graphics with the following additions and changes:
  • GaugeFaceElementFunctionAutomaticfunction to draw the face
    GaugeFaceStyleAutomaticstyle for the gauge face
    GaugeFrameElementFunctionAutomaticfunction to draw the frame
    GaugeFrameSizeAutomatichow large to make the gauge frame
    GaugeFrameStyleAutomaticstyle for the gauge frame
    GaugeLabelsNonelabels for the gauge
    GaugeMarkersAutomaticappearance for the marker
    GaugeStyleAutomaticstyle for gauge markers
    MethodAutomaticmethod to use
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    PlotTheme$PlotThemetheme to use for drawing the gauge
    ScaleDivisionsAutomaticthe number and distribution of ticks
    ScaleOriginAutomaticwhere to position the scale in the gauge
    ScalePaddingAutomatichow to draw the space around the scale
    ScaleRangesNonethe sections of the scale to be styled
    ScaleRangeStyleAutomatichow to draw the scale ranges
    ScalingFunctionsNonescaling functions for the gauge
    TargetUnitsAutomaticunits to display in the gauge
  • GaugeLabels can take the following forms:
  • Noneno gauge labels
    Automaticinclude units as labels
    Fullinclude units and a value as labels
    Allinclude all values as labels
    "Value"include values as labels
    "Unit"include units as labels
    labeluse label as a label
    Placed[label,pos]place label at position pos
    {label1,label2,}use multiple labels
  • GaugeLabels->Placed[label,pos] can use the positions pos:
  • Top,Bottom,Left,Right,Centerpositions within the gauge face
    bsposition along the scale
    Scaled[bs]scaled position along the scale
    {bx,by}scaled position {bx,by} in the gauge
    {pos,{lx,ly}}scaled position {lx,ly} in the label at general position pos in the gauge
  • A list of built-in settings for GaugeMarkers, GaugeFaceElementFunction, and GaugeFrameElementFunction can be obtained from ChartElementData["AngularGauge"]. A visual gallery is available in the Chart Element Schemes palette.
  • GaugeMarkers->Placed[marker,pos] can be used to control where the marker is placed in the gauge. The possible positions pos are:
  • "Center"center of the dial face
    "DivisionCenter"cumulative markers centered on division marks
    "DivisionInterval"cumulative markers between division marks
    "Scale"within the scale region
    "OutsideScale"outside the scale region
    "InsideScale"inside the scale region
    "ScaleRange"cumulative marker within the scale region
    "Frame"within the dial frame
  • ScaleOrigin can take the following values:
  • rradius of the scale
    Left,Right,Bottom,Topon which side to center the scale
    {θmin,θmax}angular locations of min and max for the scale
    {angle,r}angular and radial origins for the scale
  • The angles in ScaleOrigin are measured in radians, counterclockwise from the positive axis. The values need not be between 0 and .
  • Scales run counterclockwise when θmin<θmax and clockwise when θmin>θmax.
  • If Abs[θmax-θmin]>2Pi, the scale will overlap itself.
  • The radial component r of the scale origin is scaled to run from 0 at the center of the gauge to 1 at the edge of the face.
  • ScalePadding can take the following forms:
  • pangular padding p on each end of the scale
    {pmin,pmax}padding pmin before the scale and pmax after
    Noneno padding around the scale
    Automaticautomatically determined padding
    Fullpad to the nearest chord of a circle
    Allpad the scale to make a complete circle
  • TargetUnits->Automatic automatically selects the units based on the input. If no units are present, none will be displayed.
  • TargetUnits->unit displays unit in the gauge, even if no units were present in the input.


open allclose all

Basic Examples  (4)

Generate a dial gauge for a particular value:

Generate a gauge using values with units:

Generate a gauge that displays multiple values:

Generate a dial gauge with an interactive value:

Scope  (22)

Data and Layouts  (7)

Data values are clipped to be within the range of the scale:

Nonreal data is taken to be missing and typically uses the minimum value of the gauge:

The min and max specified are sorted so that the smaller number of the list is always min:

Generate a gauge using values with units:

Specify the displayed units with TargetUnits:

Change the position of the scale:

Display the gauge as a semicircle:

Use Dynamic to make an interactive gauge:

Styling and Appearance  (9)

Use a theme to control the overall appearance:

Use explicit styles for the markers:

Use any gradient or indexed color schemes from ColorData to style the markers:

Change the type of markers used:

Change where the markers are placed:

Use any graphic or image for the marker:

Change the style of the face of the gauge:

Change the style of the frame around the gauge:

Specify ranges of the scale to be colored on the dial face:

Labeling  (6)

Use GaugeLabels to add a label to the gauge face:

Add a display of the scale value:

Add a display of the gauge units:

Show units and scale value:

Use Placed to change the location of the label on the face of the gauge:

Use a list to specify more than one label:

Options  (72)

Background  (1)

Insert a background color behind the gauge:

Use GaugeFaceStyle to set the face style:

GaugeFaceElementFunction  (3)

List built-in settings for GaugeFaceElementFunction:

For detailed settings, use Palettes Chart Element Schemes:

Write a custom GaugeFaceElementFunction:

GaugeFaceStyle  (3)

Specify the style for the gauge face:

Use None to turn off the face:

Use a Texture as a gauge face:

GaugeFrameElementFunction  (3)

List built-in settings for GaugeFrameElementFunction:

For detailed settings, use Palettes Chart Element Schemes:

Construct a custom rendering function:

GaugeFrameSize  (3)

Make the frame have an explicit width scaled to the size of the gauge face:

Use None to turn off the frame:

Use named sizes for the frame:

GaugeFrameStyle  (1)

Use directives to change the rendering of the gauge frame:

GaugeLabels  (10)

Show the value as a label:

Specify a label:

Labels can be any expression:

If units are present, they can be added as a label to the gauge:

Use Placed to control label placement:

Position labels at values along the scale:

Position labels using a scaled coordinate system along the scale:

Use a scaled coordinate system over the entire gauge:

Place all labels at the middle of the scale and vary the coordinates within the label:

Use a list to specify more than one label:

GaugeMarkers  (8)

Turn the markers on and off:

List built-in settings for GaugeMarkers:

For detailed settings, use Palettes Chart Element Schemes:

Use an image or graphic for a marker:

Use Placed to change the location of the marker:

Fill a cumulative bar to the value:

Fill segments that are centered on division values:

Sequential markers are activated when the value rounds to the division value:

Fill segments that are between division values:

Sequential markers are activated when the value is greater than or equal to the division value:

Use an image or graphic for a cumulative marker:

GaugeStyle  (5)

Style the gauge marker:

By default, different styles are chosen for multiple markers:

Specify a list of styles:

Use any gradient or indexed color schemes from ColorData:

Specify the style for cumulative markers up to the gauge value:

Specify an additional style for markers beyond the gauge value:

Use None to not use any style:

LabelStyle  (1)

Style the labels:

PerformanceGoal  (2)

Generate a gauge with tooltips on the gauge markers:

Emphasize performance by disabling interactive behaviors:

PlotTheme  (4)

Create gauges using a variety of base themes:

Combine the base themes with the "GaugeHalf" feature theme:

Combine the "Marketing" theme with a scale origin:

The "Sparkline" theme fits gauges in the surrounding text:

ScaleDivisions  (2)

Specify the total number of divisions:

Specify the number of major and minor divisions:

ScaleOrigin  (4)

Use ScaleOrigin to specify a radial position for the scale:

Use a relative location for the center of the scale:

Specify a starting and ending angle for the scale:

Change the order of the endpoints to reverse the scale direction:

Change the endpoints to use the opposite arc of the scale:

Change the order of the endpoints to reverse the scale direction:

Specify a radial and angular position for the scale:

ScalePadding  (5)

Use automatically determined angular padding:

Full padding will ensure a "nice" dial face shape:

Leave no angular padding around the scale:

Specify a constant angular padding:

Specify different angular padding on each side:

ScaleRanges  (7)

Highlight a range of values on the scale:

Specify multiple ranges:

Style the entire region behind the scale:

Ranges need not be contiguous or distinct:

Directly associate a style with a range, using range->style:

ScaleRanges appears in front of the gauge face:

Change the scale range width:

Vary the width for each scale range:

ScaleRangeStyle  (8)

By default, the scale ranges are styles based on the marker color:

Apply a style to every range:

Use a list of directives to style each range separately:

Styles will repeat cyclically if necessary:

Use ScaleRangeStyle->{None,style} to apply a style to the scale only:

Apply a style to the backgrounds and foregrounds of all the ranges:

Color the scale ranges with built-in color schemes:

Define a one-dimensional color function:

TargetUnits  (2)

By default, units are determined automatically:

Specify the displayed units:

Applications  (6)

Use a gauge as a control in Manipulate:

Visualize leaf count for successive integrals:

Monitor memory used by processes with an indicator of the max memory used:

Monitor progress when integrating a differential equation:

Visualize properties of noble gases:

Visualize the first two derivatives of a polynomial:

Introduced in 2012
Updated in 2014