Visual Elements

Topics in this section describe various elements of the CircularGauge widget. Each topic gives a detailed overview of the element's purpose and ways of configuring. Below is the element map of the CircularGauge widget. Hover over the map and you will discover how different gauge elements are called. Click an element to navigate to the topic with details on this element.

Title Subtitle Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Scale Label Tooltip Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Major Scale Tick Subvalue Indicator Subvalue Indicator Subvalue Indicator Value Indicator Range Container Range Container
See Also

Value Indicator

A value indicator is a pointer that designates the main value on the CircularGauge. There is a set of predefined value indicator types for this widget.

View Demo

In order to customize the appearance of a value indicator, use the valueIndicator configuration object. Set its type option and then the required type-specific options. The type-specific options are listed within the widget's Indicator Types reference section.

JavaScript
var gaugeOptions = {
    valueIndicator: {
        type: 'rangeBar',
        // Set type-specific options here
    }
};

Subvalue Indicators

Subvalue indicators are pointers that indicate extra values on the CircularGauge. These extra values are called "subvalues". There is a set of predefined subvalue indicator types for the CircularGauge widget.

View Demo

In order to customize the appearance of the subvalue indicators, use the subvalueIndicator configuration object. Set its type option and then the required type-specific options. The type-specific options are listed within the widget's Indicator Types reference section.

JavaScript
var gaugeOptions = {
    subvalueIndicator: {
        type: 'textCloud',
        // Set type-specific options here
    }
};

NOTE: Although the CircularGauge can indicate several subvalues at once, you cannot customize a particular subvalue indicator. The options specified by the subvalueIndicator object apply to all subvalue indicators.

Scale Ticks

Values and subvalues are indicated on the gauge scale that is divided by scale ticks. These ticks can be major or minor.

DevExtreme HTML5 JavaScript Gauges  CircularGaugeScaleTicks

To configure major and minor scale ticks, use the scale | tick and scale | minorTick configuration objects, respectively.

JavaScript
var gaugeOptions = {
    scale: {
        tick: {
            // ...
        },
        minorTick: {
            // ...
        }
    }
};

Major ticks are visible by default. To display minor ticks, you need to set the minorTick | visible option to true. You can change the visibility of the major ticks using the same option within the tick configuration object.

By default, scale ticks are generated automatically. Since ticks are accompanied by scale labels, an optimum tick interval is selected so that the labels do not overlap each other. To turn off automatic tick arrangement, set the scale | label | overlappingBehavior | useAutoArrangement option to false.

If you are not satisfied with the automatically generated ticks, you can specify a custom interval for major and minor ticks. To do this, use the tickInterval and minorTickInterval options, respectively.

View Demo

NOTE: To arrange ticks precisely with a specified tick interval, set the useAutoArrangement option to false. Otherwise, the specified tick interval will be ignored, but only if arranging ticks with this interval leads to label overlap.

JavaScript
var gaugeOptions = {
    scale: {
        tickInterval: 10,
        minorTickInterval: 2,
        label: {
            overlappingBehavior: {
                useAutoArrangement: false
            }
        }
    }
};

If neither automatically generated ticks nor ticks with a custom interval fit your requirements, you can place major and minor ticks at specific scale values. Assign an array of required values to the customTicks or customMinorTicks option.

JavaScript
var gaugeOptions = {
    scale: {
        customTicks: [4, 42, 85, 36, 14],
        customMinorTicks: [24, 61, 9, 12, 95]
    }
};

In addition, you can specify the color, length and width of major and minor ticks using the corresponding options of the tick or minorTick configuration objects.

Scale Labels

Major scale ticks can be accompanied by scale labels. These labels display scale values. Scale labels are designed to make data represented by the CircularGauge more comprehensible.

DevExtreme HTML5 JavaScript Gauges  CircularGaugeScaleLabels

To configure scale labels, use the options within the scale | label object.

JavaScript
var gaugeOptions = {
    scale: {
        label: {
            // ...
        }
    }
};

These options are briefly described below.

  • Visibility
    You can show/hide scale labels using the visible option.

  • Text Customization
    You can specify a format for the value displayed by a label. Moreover, you are not limited to displaying scale values only - you can customize the label's text per your requirements using the customizeText option.

  • Appearance
    The font style used for displaying the label text can be varied using options of the font configuration object. In addition, scale labels can be indented from their ticks using the indentFromTick option.

View Demo

Range Container

For the purpose of more intelligible data visualization, scale values can be combined into ranges, each of which can be colored differently. For example, you can indicate the ranges of warm and cold temperatures.

DevExtreme HTML5 JavaScript Gauges  CircularGaugeRangeContainer

To specify the ranges, assign an array of objects defining these ranges to the ranges option of the rangeContainer configuration object.

JavaScript
var gaugeOptions = {
    rangeContainer: {
        ranges: [
            { startValue: -50, endValue: -30, color: 'midnightblue' },
            { startValue: -30, endValue: -15, color: 'blue' }
            // ...
        ]
    }
};

As you can see from the code above, each range is defined by its start and end values and, additionally, a color.

Besides the options that apply to ranges, there are several options that apply to the range container itself. They can be configured within the rangeContainer object. A brief overview of them is explained below.

  • Appearance
    If you do not need to specify a particular color for each range, you can apply one of the predefined palettes using the palette option. However, when a specific color is assigned to a range, it overrides the color specified by the palette. If a range container does not have any ranges, or the ranges do not cover the whole range container, you can specify a color for the range container itself. For this purpose, use the backgroundColor option. In addition, you can change the width of the range container or its offset from a scale using the corresponding options.

  • Geometry
    You can specify how to locate the range container relatively to the scale. To do this, specify the orientation option.

Tooltips

A tooltip is a small pop-up rectangle that displays information on a hovered value or subvalue indicator. By default, the tooltip shows the value indicated by the hovered element. However, it is possible to display other information in the tooltip. You can customize the text of the tooltip and its appearance in the way you require.

DevExtreme HTML5 JavaScript Gauges  CircularGaugeTooltip

Tooltips are not enabled by default. To enable them, set the enabled option of the tooltip object to true.

JavaScript
var gaugeOptions = {
    tooltip: {
        enabled: true
    }
};

You can change default tooltip settings by defining the options within the tooltip configuration object. Some of these options are categorized and listed below.

  • Text Customization and Formatting
    By default, a tooltip displays the value of a hovered widget element without formatting. Set the format option to format this value. When text customization is required, assign a function specifying the text to be shown to the customizeTooltip option. Learn more in the Data Formatting topic.

  • Font Settings
    To customize the appearance of the tooltip text, define the font options within the font configuration object.

View Demo

Title and Subtitle

The CircularGauge can be displayed with a title and a subtitle. These elements usually contain general explanations about the data represented by the gauge. You can, however, place any kind of information in the gauge title and subtitle.

DevExtreme HTML5 JavaScript Gauges  CircularGaugeTitleSubtitle

To specify a gauge title and subtitle, use the title and its nested subtitle options. Both these options accept either a string with the title/subtitle text:

JavaScript
var gaugeOptions = {
    title: {
        text: 'Gauge Title',
        subtitle: 'Gauge Subtitle'
    }
};

...or an object that configures more title/subtitle options.

JavaScript
var gaugeOptions = {
    title: {
        text: 'Gauge Title',
        font: {
            size: 30,
            weight: 400
        },
        subtitle: {
            text: 'Gauge Subtitle',
            font: {
                size: 15,
                weight: 100
            }
        }
    }
};

Several title options that can be set within the title and subtitle objects are categorized and listed below.

  • Location
    You can place a title on any side of your gauge. For this purpose, use the horizontalAlignment and verticalAlignment options. Note that if these options are specified, the subtitle will be displayed at the same position as the title.

  • Font Settings
    To customize the appearance of the text, define the font options within the font configuration object.