com.smartgwt.client.widgets.chart

## Class MetricSettings

- java.lang.Object
- - com.smartgwt.client.core.JsObject
  - - com.smartgwt.client.core.DataClass
    - - com.smartgwt.client.widgets.chart.MetricSettings

-     public class MetricSettings
      extends DataClass

  Defines a set of properties that are applicable to `additional value axes` of a `FacetChart`.

  These properties behave identically to the same-named properties of FacetChart. Two exceptions are the properties `gradationLineProperties` and `gradationZeroLineProperties` because they are used to draw tick marks along an extra value axis instead of lines through the chart rectangle. Also the default behavior of the `dataColors` property is different, in that the default is to use unused colors from, and in the order of, the `main data colors array`.

  The extra value axes that are not positioned directly adjacent to the `chart rect.` of the FacetChart may additionally have an axis line to connect the gradation tick marks. Whether to draw this line is controlled by the `showAxisLine` property, and the properties of the line are specified using `axisLineProperties`. The default is to draw the axis lines whenever the chart rect. is drawn and to draw the line using the same properties as the lines of the chart rect. (for example, lineColor and lineWidth).

  The extra value axis charts may be `single- or multi-facet` charts. If the underlying `data` is multi-facet then the extra value axes may use the facet whose values are labelled on the data axis or the facet used to create the legend (the first and second facets, respectively). Both types of charts vary the first facet to get a data series to plot. Multi-facet charts also vary the second facet, but single-facet charts keep the second facet fixed at a constant `FacetValue`.

  The exact facet value to use for the second facet is specified using the `fixedFacetValue` property.

- - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.core.DataClass

      `factoryCreated, factoryProperties`

    - ### Fields inherited from class com.smartgwt.client.core.JsObject

      `jsObj`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MetricSettings()`
    `MetricSettings(JavaScriptObject jsObj)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `DrawLine` | `getAxisLineProperties()` Properties for the axis line drawn if this extra value axis is not positioned directly adjacent to the chart rect.
    `java.lang.Double` | `getAxisStartValue()` Same as `axisStartValue` but affects only one metric.
    `ChartType` | `getChartType()` See `ChartType` for a list of known types - Column, Bar, Line, Pie, Doughnut, Area, and Radar charts are supported.
    `java.lang.String` | `getDataColor(int index)` Get a color from the `dataColors` Array
    `java.lang.String[]` | `getDataColors()` An array of colors to use for a series of visual elements representing data (eg columns, bars, pie slices), any of which may be adjacent to any other.
    `DrawLine` | `getDataLineProperties()` Properties for lines that show data (as opposed to gradations or borders around the data area).
    `DrawItem` | `getDataOutlineProperties()` Properties for lines that outline a data shape (in filled charts such as area or radar charts).
    `DrawItem` | `getDataPointProperties()` Common properties to apply for all data points (see `showDataPoints`).
    `int` | `getDataPointSize()` Size in pixels for data points drawn for line, area, radar and other chart types.
    `DrawPath` | `getDataShapeProperties()` Properties for data shapes (filled areas in area or radar charts).
    `int` | `getDecimalPrecision()` The `decimalPrecision` used to render the numeric labels of this metric axis.
    `java.lang.Boolean` | `getFilled()` Whether shapes are filled, for example, whether a multi-series line chart appears as a stack of filled regions as opposed to just multiple lines.
    `java.lang.String` | `getFixedFacetValue()` For a `single-facet` chart of an extra value axis, this property provides a constant facet value for the second facet.
    `DrawLabel` | `getGradationLabelProperties()` Properties for gradation labels
    `DrawLine` | `getGradationLineProperties()` Properties for gradation lines
    `float[]` | `getGradations()` Return an array of the gradation values used in the current chart.
    `DrawLine` | `getGradationZeroLineProperties()` Properties for the gradation line drawn for zero (slightly thicker by default).
    `java.lang.String` | `getLegendLabel()` For `single-facet` charts embedded in a multi-facet main chart, the `legendLabel` defines the text of the legend label for this chart.
    `int` | `getLogBase()` When `useLogGradations`, base value for logarithmic gradation lines.
    `float[]` | `getLogGradations()` When `useLogGradations` is set, gradation lines to show in between powers, expressed as a series of integer or float values between 1 and `logBase`.
    `java.lang.Boolean` | `getLogScale()` Whether to use logarithmic scaling for values.
    `java.lang.String` | `getMatchGradations()` When this property is set to the metric of another MetricSettings object, the extra value axis and chart corresponding to these settings will use the same scale for the gradations as the extra value axis and chart of the other MetricSettings object.
    `java.lang.Integer` | `getMinDataSpreadPercent()` Same as `minDataSpreadPercent` but affects only one metric.
    `java.lang.Boolean` | `getMultiFacet()` Whether this extra value axis plots values while varying the facet values of just the first facet (single-facet) or both first and second facets (multi-facet).
    `static MetricSettings` | `getOrCreateRef(JavaScriptObject jsObj)`
    `java.lang.Boolean` | `getProportional()` For multi-facet charts, render data values as a proportion of the sum of all data values that have the same label.
    `java.lang.String` | `getProportionalAxisLabel()` Default title for the value axis label when the chart is in `proportional rendering mode`.
    `DrawOval` | `getShadowProperties()` Properties for shadows.
    `java.lang.Boolean` | `getShowAxis()` Whether to show the extra value axis.
    `java.lang.Boolean` | `getShowAxisLine()` Whether to show an axis line for this extra value axis if it is not placed directly adjacent to the chart rect.
    `java.lang.Boolean` | `getShowDataPoints()` For Line, Area, Radar, Scatter or Bubble charts, whether to show data points for each individual data value.
    `java.lang.Boolean` | `getShowDataValues()` Should data values be shown as text labels near the shape representing the value, for example, above columns of a column chart, or adjacent to points in a line chart?
    `java.lang.Boolean` | `getShowShadows()` Whether to automatically show shadows for various charts.
    `java.lang.Boolean` | `getShowValueAxisLabel()` Whether to show the `valueTitle` (or, in the case of `proportional rendering mode`, `proportionalAxisLabel`) as a label on this extra value axis.
    `java.lang.Boolean` | `getShowValueOnHover()` Shows the value of the nearest data value in a floating label whenever the mouse moves within the main chart area.
    `java.lang.Boolean` | `getStacked()` If the `ChartType` is "Column" then the metric settings may include a setting for `stacked`.
    `java.lang.Boolean` | `getUseLogGradations()` Whether to use classic logarithmic gradations, where each order of magnitude is shown as a gradation as well as a few intervening lines.
    `DrawLabel` | `getValueAxisLabelProperties()` Properties for labels of value axis.
    `DrawLine` | `getValueLineProperties()` Properties for a "value line" - a line shows where a particular discrete value is placed, eg, vertical lines connecting points of a line chart to the X axis, or radial lines in a Radar chart.
    `java.lang.String` | `getValueTitle()` A label for the data values, such as "Sales in Thousands", typically used as the label for the value axis.
    `float` | `getXCoord(float value)` Deprecated. `GwtFloatVsDouble`
    `double` | `getXCoordAsDouble(double value)` Returns the X coordination where the passed data value would be drawn.
    `float` | `getYCoord(float value)` Deprecated. `GwtFloatVsDouble`
    `double` | `getYCoordAsDouble(double value)` Returns the Y coordination where the passed data value would be drawn.
    `void` | `setAxisLineProperties(DrawLine axisLineProperties)` Properties for the axis line drawn if this extra value axis is not positioned directly adjacent to the chart rect.
    `void` | `setAxisStartValue(java.lang.Double axisStartValue)` Same as `axisStartValue` but affects only one metric.
    `void` | `setAxisValueFormatter(ValueFormatter formatter)` Formatter to apply to values displayed in the gradation labels.
    `void` | `setChartType(ChartType chartType)` See `ChartType` for a list of known types - Column, Bar, Line, Pie, Doughnut, Area, and Radar charts are supported.
    `void` | `setDataColors(java.lang.String... dataColors)` An array of colors to use for a series of visual elements representing data (eg columns, bars, pie slices), any of which may be adjacent to any other.
    `void` | `setDataLineProperties(DrawLine dataLineProperties)` Properties for lines that show data (as opposed to gradations or borders around the data area).
    `void` | `setDataOutlineProperties(DrawItem dataOutlineProperties)` Properties for lines that outline a data shape (in filled charts such as area or radar charts).
    `void` | `setDataPointProperties(DrawItem dataPointProperties)` Common properties to apply for all data points (see `showDataPoints`).
    `void` | `setDataPointSize(int dataPointSize)` Size in pixels for data points drawn for line, area, radar and other chart types.
    `void` | `setDataShapeProperties(DrawPath dataShapeProperties)` Properties for data shapes (filled areas in area or radar charts).
    `void` | `setDataValueFormatter(ValueFormatter formatter)` Formatter to apply to values displayed in the hover labels and other value labels
    `void` | `setDecimalPrecision(int decimalPrecision)` The `decimalPrecision` used to render the numeric labels of this metric axis.
    `void` | `setFilled(java.lang.Boolean filled)` Whether shapes are filled, for example, whether a multi-series line chart appears as a stack of filled regions as opposed to just multiple lines.
    `void` | `setFixedFacetValue(java.lang.Integer fixedFacetValue)` For a `single-facet` chart of an extra value axis, this property provides a constant facet value for the second facet.
    `void` | `setFixedFacetValue(java.lang.String fixedFacetValue)` For a `single-facet` chart of an extra value axis, this property provides a constant facet value for the second facet.
    `void` | `setGradationLabelProperties(DrawLabel gradationLabelProperties)` Properties for gradation labels
    `void` | `setGradationLineProperties(DrawLine gradationLineProperties)` Properties for gradation lines
    `void` | `setGradationZeroLineProperties(DrawLine gradationZeroLineProperties)` Properties for the gradation line drawn for zero (slightly thicker by default).
    `void` | `setLegendLabel(java.lang.String legendLabel)` For `single-facet` charts embedded in a multi-facet main chart, the `legendLabel` defines the text of the legend label for this chart.
    `void` | `setLogBase(int logBase)` When `useLogGradations`, base value for logarithmic gradation lines.
    `void` | `setLogGradations(float... logGradations)` When `useLogGradations` is set, gradation lines to show in between powers, expressed as a series of integer or float values between 1 and `logBase`.
    `void` | `setLogScale(java.lang.Boolean logScale)` Whether to use logarithmic scaling for values.
    `void` | `setMatchGradations(java.lang.String matchGradations)` When this property is set to the metric of another MetricSettings object, the extra value axis and chart corresponding to these settings will use the same scale for the gradations as the extra value axis and chart of the other MetricSettings object.
    `void` | `setMinDataSpreadPercent(java.lang.Integer minDataSpreadPercent)` Same as `minDataSpreadPercent` but affects only one metric.
    `void` | `setMultiFacet(java.lang.Boolean multiFacet)` Whether this extra value axis plots values while varying the facet values of just the first facet (single-facet) or both first and second facets (multi-facet).
    `void` | `setPointClickHandler(ChartPointClickHandler handler)` Apply a handler to fire when `showDataPoints` is true, and the user clicks on a point.
    `void` | `setPointHoverCustomizer(ChartPointHoverCustomizer hoverCustomizer)` Display custom HTML when `showDataPoints` is true and the mouse hovers over a point.
    `void` | `setProportional(java.lang.Boolean proportional)` For multi-facet charts, render data values as a proportion of the sum of all data values that have the same label.
    `void` | `setProportionalAxisLabel(java.lang.String proportionalAxisLabel)` Default title for the value axis label when the chart is in `proportional rendering mode`.
    `void` | `setShadowProperties(DrawOval shadowProperties)` Properties for shadows.
    `void` | `setShowAxis(java.lang.Boolean showAxis)` Whether to show the extra value axis.
    `void` | `setShowAxisLine(java.lang.Boolean showAxisLine)` Whether to show an axis line for this extra value axis if it is not placed directly adjacent to the chart rect.
    `void` | `setShowDataPoints(java.lang.Boolean showDataPoints)` For Line, Area, Radar, Scatter or Bubble charts, whether to show data points for each individual data value.
    `void` | `setShowDataValues(java.lang.Boolean showDataValues)` Should data values be shown as text labels near the shape representing the value, for example, above columns of a column chart, or adjacent to points in a line chart?
    `void` | `setShowShadows(java.lang.Boolean showShadows)` Whether to automatically show shadows for various charts.
    `void` | `setShowValueAxisLabel(java.lang.Boolean showValueAxisLabel)` Whether to show the `valueTitle` (or, in the case of `proportional rendering mode`, `proportionalAxisLabel`) as a label on this extra value axis.
    `void` | `setShowValueOnHover(java.lang.Boolean showValueOnHover)` Shows the value of the nearest data value in a floating label whenever the mouse moves within the main chart area.
    `void` | `setStacked(java.lang.Boolean stacked)` If the `ChartType` is "Column" then the metric settings may include a setting for `stacked`.
    `void` | `setUseLogGradations(java.lang.Boolean useLogGradations)` Whether to use classic logarithmic gradations, where each order of magnitude is shown as a gradation as well as a few intervening lines.
    `void` | `setValueAxisLabelProperties(DrawLabel valueAxisLabelProperties)` Properties for labels of value axis.
    `void` | `setValueLineProperties(DrawLine valueLineProperties)` Properties for a "value line" - a line shows where a particular discrete value is placed, eg, vertical lines connecting points of a line chart to the X axis, or radial lines in a Radar chart.
    `void` | `setValueTitle(java.lang.String valueTitle)` A label for the data values, such as "Sales in Thousands", typically used as the label for the value axis.

    - ### Methods inherited from class com.smartgwt.client.core.DataClass

      `applyFactoryProperties, doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, isFactoryCreated, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated`

    - ### Methods inherited from class com.smartgwt.client.core.JsObject

      `equals, getJsObj, hashCode, isCreated, setJavaScriptObject, setJsObj`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MetricSettings

          public MetricSettings()

    - #### MetricSettings

          public MetricSettings(JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static MetricSettings getOrCreateRef(JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties.
      See Also:
        `AutoChildUsage`

    - #### setAxisLineProperties

          public void setAxisLineProperties(DrawLine axisLineProperties)

      Properties for the axis line drawn if this extra value axis is not positioned directly adjacent to the chart rect. The default is to match the `lineCap`, `lineColor`, `lineOpacity`, `linePattern`, and `lineWidth` of the FacetChart's `chart rect.` for each axis line.
      Parameters:
        `axisLineProperties` - Default value is null

    - #### getAxisLineProperties

          public DrawLine getAxisLineProperties()

      Properties for the axis line drawn if this extra value axis is not positioned directly adjacent to the chart rect. The default is to match the `lineCap`, `lineColor`, `lineOpacity`, `linePattern`, and `lineWidth` of the FacetChart's `chart rect.` for each axis line.
      Returns:
        DrawLine

    - #### setAxisStartValue

          public void setAxisStartValue(java.lang.Double axisStartValue)

      Same as `axisStartValue` but affects only one metric.
      Parameters:
        `axisStartValue` - Default value is null

    - #### getAxisStartValue

          public java.lang.Double getAxisStartValue()

      Same as `axisStartValue` but affects only one metric.
      Returns:
        Double

    - #### setChartType

          public void setChartType(ChartType chartType)

      See `ChartType` for a list of known types - Column, Bar, Line, Pie, Doughnut, Area, and Radar charts are supported.
      If this method is called after the component has been drawn/initialized: Method to change the current `chartType`. Will redraw the chart if drawn. Will use default settings for the new chart type for `stacked` and `filled` if those values are null.

      Note that for `multi-axis` charts this method changes the `chartType` for the main value axis only.

      Parameters:
        `chartType` - new chart type. Default value is null

    - #### getChartType

          public ChartType getChartType()

      See `ChartType` for a list of known types - Column, Bar, Line, Pie, Doughnut, Area, and Radar charts are supported.
      Returns:
        ChartType

    - #### setDataColors

          public void setDataColors(java.lang.String... dataColors)

      An array of colors to use for a series of visual elements representing data (eg columns, bars, pie slices), any of which may be adjacent to any other.

      Colors must be in the format of a leading hash (#) plus 6 hexadecimal digits, for example, "#FFFFFF" is white, "#FF0000" is pure red.
      If this method is called after the component has been drawn/initialized: Setter for `dataColors`.

      Parameters:
        `dataColors` - New set of data colors See `CSSColor` . Default value is see below

    - #### getDataColors

          public java.lang.String[] getDataColors()

      An array of colors to use for a series of visual elements representing data (eg columns, bars, pie slices), any of which may be adjacent to any other.

      Colors must be in the format of a leading hash (#) plus 6 hexadecimal digits, for example, "#FFFFFF" is white, "#FF0000" is pure red.

      Returns:
        See `CSSColor`

    - #### setDataLineProperties

          public void setDataLineProperties(DrawLine dataLineProperties)

      Properties for lines that show data (as opposed to gradations or borders around the data area).
      Parameters:
        `dataLineProperties` - Default value is null

    - #### getDataLineProperties

          public DrawLine getDataLineProperties()

      Properties for lines that show data (as opposed to gradations or borders around the data area).
      Returns:
        DrawLine

    - #### setDataOutlineProperties

          public void setDataOutlineProperties(DrawItem dataOutlineProperties)

      Properties for lines that outline a data shape (in filled charts such as area or radar charts).
      Parameters:
        `dataOutlineProperties` - Default value is null

    - #### getDataOutlineProperties

          public DrawItem getDataOutlineProperties()

      Properties for lines that outline a data shape (in filled charts such as area or radar charts).
      Returns:
        DrawItem

    - #### setDataPointProperties

          public void setDataPointProperties(DrawItem dataPointProperties)

      Common properties to apply for all data points (see `showDataPoints`).
      Parameters:
        `dataPointProperties` - Default value is null

    - #### getDataPointProperties

          public DrawItem getDataPointProperties()

      Common properties to apply for all data points (see `showDataPoints`).
      Returns:
        DrawItem

    - #### setDataPointSize

          public void setDataPointSize(int dataPointSize)

      Size in pixels for data points drawn for line, area, radar and other chart types.
      Parameters:
        `dataPointSize` - Default value is 6

    - #### getDataPointSize

          public int getDataPointSize()

      Size in pixels for data points drawn for line, area, radar and other chart types.
      Returns:
        int

    - #### setDataShapeProperties

          public void setDataShapeProperties(DrawPath dataShapeProperties)

      Properties for data shapes (filled areas in area or radar charts).
      Parameters:
        `dataShapeProperties` - Default value is null

    - #### getDataShapeProperties

          public DrawPath getDataShapeProperties()

      Properties for data shapes (filled areas in area or radar charts).
      Returns:
        DrawPath

    - #### setDecimalPrecision

          public void setDecimalPrecision(int decimalPrecision)

      The `decimalPrecision` used to render the numeric labels of this metric axis.
      Parameters:
        `decimalPrecision` - Default value is 2

    - #### getDecimalPrecision

          public int getDecimalPrecision()

      The `decimalPrecision` used to render the numeric labels of this metric axis.
      Returns:
        int

    - #### setFilled

          public void setFilled(java.lang.Boolean filled)

      Whether shapes are filled, for example, whether a multi-series line chart appears as a stack of filled regions as opposed to just multiple lines.

      If unset, fills will be automatically used when there are multiple facets and stacking is active (so Line and Radar charts will show stacked regions).

      You can explicitly set filled:false to create multi-facet Line or Radar charts where translucent regions overlap, or filled:true to fill in a single-facet Line or Radar chart.
      If this method is called after the component has been drawn/initialized: Method to change `filled`. Use null to apply a default value for the current `chartType`.

      Parameters:
        `filled` - new value. Default value is null

    - #### getFilled

          public java.lang.Boolean getFilled()

      Whether shapes are filled, for example, whether a multi-series line chart appears as a stack of filled regions as opposed to just multiple lines.

      If unset, fills will be automatically used when there are multiple facets and stacking is active (so Line and Radar charts will show stacked regions).

      You can explicitly set filled:false to create multi-facet Line or Radar charts where translucent regions overlap, or filled:true to fill in a single-facet Line or Radar chart.

      Returns:
        Boolean

    - #### setFixedFacetValue

          public void setFixedFacetValue(java.lang.String fixedFacetValue)

      For a `single-facet` chart of an extra value axis, this property provides a constant facet value for the second facet. By varying the value of the other facet in multi-facet data, the chart obtains the series of values to plot. The default facet value is the first facet value of the second facet.
      Parameters:
        `fixedFacetValue` - Default value is null

    - #### getFixedFacetValue

          public java.lang.String getFixedFacetValue()

      For a `single-facet` chart of an extra value axis, this property provides a constant facet value for the second facet. By varying the value of the other facet in multi-facet data, the chart obtains the series of values to plot. The default facet value is the first facet value of the second facet.
      Returns:
        String

    - #### setFixedFacetValue

          public void setFixedFacetValue(java.lang.Integer fixedFacetValue)

      For a `single-facet` chart of an extra value axis, this property provides a constant facet value for the second facet. By varying the value of the other facet in multi-facet data, the chart obtains the series of values to plot. The default facet value is the first facet value of the second facet.
      Parameters:
        `fixedFacetValue` - Default value is null

    - #### setGradationLabelProperties

          public void setGradationLabelProperties(DrawLabel gradationLabelProperties)

      Properties for gradation labels
      Parameters:
        `gradationLabelProperties` - Default value is null

    - #### getGradationLabelProperties

          public DrawLabel getGradationLabelProperties()

      Properties for gradation labels
      Returns:
        DrawLabel

    - #### setGradationLineProperties

          public void setGradationLineProperties(DrawLine gradationLineProperties)

      Properties for gradation lines
      Parameters:
        `gradationLineProperties` - Default value is null

    - #### getGradationLineProperties

          public DrawLine getGradationLineProperties()

      Properties for gradation lines
      Returns:
        DrawLine

    - #### setGradationZeroLineProperties

          public void setGradationZeroLineProperties(DrawLine gradationZeroLineProperties)

      Properties for the gradation line drawn for zero (slightly thicker by default).
      Parameters:
        `gradationZeroLineProperties` - Default value is null

    - #### getGradationZeroLineProperties

          public DrawLine getGradationZeroLineProperties()

      Properties for the gradation line drawn for zero (slightly thicker by default).
      Returns:
        DrawLine

    - #### setLegendLabel

          public void setLegendLabel(java.lang.String legendLabel)

      For `single-facet` charts embedded in a multi-facet main chart, the `legendLabel` defines the text of the legend label for this chart. The default text is the `title` of the metric facet value of this value axis concatenated with the `title` of the `fixed facet value` in parentheses. Set the `legendLabel` to provide custom text for the legend label.
      Parameters:
        `legendLabel` - Default value is null

    - #### getLegendLabel

          public java.lang.String getLegendLabel()

      For `single-facet` charts embedded in a multi-facet main chart, the `legendLabel` defines the text of the legend label for this chart. The default text is the `title` of the metric facet value of this value axis concatenated with the `title` of the `fixed facet value` in parentheses. Set the `legendLabel` to provide custom text for the legend label.
      Returns:
        String

    - #### setLogBase

          public void setLogBase(int logBase)

      When `useLogGradations`, base value for logarithmic gradation lines. Gradation lines will be shown at every power of this value plus intervening values specified by `logGradations`.
      Parameters:
        `logBase` - Default value is 10

    - #### getLogBase

          public int getLogBase()

      When `useLogGradations`, base value for logarithmic gradation lines. Gradation lines will be shown at every power of this value plus intervening values specified by `logGradations`.
      Returns:
        int

    - #### setLogGradations

          public void setLogGradations(float... logGradations)

      When `useLogGradations` is set, gradation lines to show in between powers, expressed as a series of integer or float values between 1 and `logBase`.

      Some common possibilities (for base 10):

               [ 1 ] // show only orders of magnitude (0.1, 1, 10, 100, etc)
               [ 1, 5 ] // show only orders of magnitude plus halfway mark
               [ 1, 2, 4, 8 ] // show powers of 2 between orders
               [ 1, 2.5, 5, 7.5 ] // show quarters

      Or base 2:

               [ 1 ]
               [ 1, 1.5 ]

      Parameters:
        `logGradations` - Default value is [ 1,2,4,6,8 ]

    - #### getLogGradations

          public float[] getLogGradations()

      When `useLogGradations` is set, gradation lines to show in between powers, expressed as a series of integer or float values between 1 and `logBase`.

      Some common possibilities (for base 10):

               [ 1 ] // show only orders of magnitude (0.1, 1, 10, 100, etc)
               [ 1, 5 ] // show only orders of magnitude plus halfway mark
               [ 1, 2, 4, 8 ] // show powers of 2 between orders
               [ 1, 2.5, 5, 7.5 ] // show quarters

      Or base 2:

               [ 1 ]
               [ 1, 1.5 ]

      Returns:
        float...

    - #### setLogScale

          public void setLogScale(java.lang.Boolean logScale)

      Whether to use logarithmic scaling for values.

      Logarithmic scale charts show an equivalent percentage increase as equivalent distance on the chart. That is, 10 and 100 are the same distance apart as 100 and 1000 (each being a 10 times or 1000% increase).

      Parameters:
        `logScale` - Default value is false

    - #### getLogScale

          public java.lang.Boolean getLogScale()

      Whether to use logarithmic scaling for values.

      Logarithmic scale charts show an equivalent percentage increase as equivalent distance on the chart. That is, 10 and 100 are the same distance apart as 100 and 1000 (each being a 10 times or 1000% increase).

      Returns:
        Boolean

    - #### setMatchGradations

          public void setMatchGradations(java.lang.String matchGradations)

      When this property is set to the metric of another MetricSettings object, the extra value axis and chart corresponding to these settings will use the same scale for the gradations as the extra value axis and chart of the other MetricSettings object. The value of `matchGradations` can only be one of the metrics of the metric facet whose values will be displayed by the chart.
      Parameters:
        `matchGradations` - Default value is null
      See Also:
        `FacetChart.setExtraAxisMetrics(java.lang.String...)`

    - #### getMatchGradations

          public java.lang.String getMatchGradations()

      When this property is set to the metric of another MetricSettings object, the extra value axis and chart corresponding to these settings will use the same scale for the gradations as the extra value axis and chart of the other MetricSettings object. The value of `matchGradations` can only be one of the metrics of the metric facet whose values will be displayed by the chart.
      Returns:
        String
      See Also:
        `FacetChart.getExtraAxisMetrics()`

    - #### setMinDataSpreadPercent

          public void setMinDataSpreadPercent(java.lang.Integer minDataSpreadPercent)

      Same as `minDataSpreadPercent` but affects only one metric. Default of null means that the chart-wide setting `facetChart.minDataSpreadPercent` will be used.
      Parameters:
        `minDataSpreadPercent` - Default value is null

    - #### getMinDataSpreadPercent

          public java.lang.Integer getMinDataSpreadPercent()

      Same as `minDataSpreadPercent` but affects only one metric. Default of null means that the chart-wide setting `facetChart.minDataSpreadPercent` will be used.
      Returns:
        Integer

    - #### setMultiFacet

          public void setMultiFacet(java.lang.Boolean multiFacet)

      Whether this extra value axis plots values while varying the facet values of just the first facet (single-facet) or both first and second facets (multi-facet).
      Parameters:
        `multiFacet` - Default value is true

    - #### getMultiFacet

          public java.lang.Boolean getMultiFacet()

      Whether this extra value axis plots values while varying the facet values of just the first facet (single-facet) or both first and second facets (multi-facet).
      Returns:
        Boolean

    - #### setProportional

          public void setProportional(java.lang.Boolean proportional)

      For multi-facet charts, render data values as a proportion of the sum of all data values that have the same label.

      Gradation labels will be switched to show percentage instead of absolute values.

      This setting is valid only for Column, Bar, Area and Radar chart types and only in `stacked` mode. Stacked columns will be as tall as the chart rect and stacked bars will be as wide as the chart rect. Area and Radar charts will be completely filled except for facet values where all values are 0.
      If this method is called after the component has been drawn/initialized: Setter for `proportional`.

      Parameters:
        `proportional` - Whether the chart should now use proportional mode.. Default value is null
      See Also:
        Multi-Series Chart Example

    - #### getProportional

          public java.lang.Boolean getProportional()

      For multi-facet charts, render data values as a proportion of the sum of all data values that have the same label.

      Gradation labels will be switched to show percentage instead of absolute values.

      This setting is valid only for Column, Bar, Area and Radar chart types and only in `stacked` mode. Stacked columns will be as tall as the chart rect and stacked bars will be as wide as the chart rect. Area and Radar charts will be completely filled except for facet values where all values are 0.

      Returns:
        Boolean
      See Also:
        Multi-Series Chart Example

    - #### setProportionalAxisLabel

          public void setProportionalAxisLabel(java.lang.String proportionalAxisLabel)

      Default title for the value axis label when the chart is in `proportional rendering mode`. This title will be used unless the `legend facet` defines a `proportionalTitle`.
      Parameters:
        `proportionalAxisLabel` - Default value is "Percent"

    - #### getProportionalAxisLabel

          public java.lang.String getProportionalAxisLabel()

      Default title for the value axis label when the chart is in `proportional rendering mode`. This title will be used unless the `legend facet` defines a `proportionalTitle`.
      Returns:
        String

    - #### setShadowProperties

          public void setShadowProperties(DrawOval shadowProperties)

      Properties for shadows.
      Parameters:
        `shadowProperties` - Default value is null

    - #### getShadowProperties

          public DrawOval getShadowProperties()

      Properties for shadows.
      Returns:
        DrawOval

    - #### setShowAxis

          public void setShowAxis(java.lang.Boolean showAxis)

      Whether to show the extra value axis.
      Parameters:
        `showAxis` - Default value is null

    - #### getShowAxis

          public java.lang.Boolean getShowAxis()

      Whether to show the extra value axis.
      Returns:
        Boolean

    - #### setShowAxisLine

          public void setShowAxisLine(java.lang.Boolean showAxisLine)

      Whether to show an axis line for this extra value axis if it is not placed directly adjacent to the chart rect. The default setting is the value of the `showChartRect` property of the FacetChart.
      Parameters:
        `showAxisLine` - Default value is null

    - #### getShowAxisLine

          public java.lang.Boolean getShowAxisLine()

      Whether to show an axis line for this extra value axis if it is not placed directly adjacent to the chart rect. The default setting is the value of the `showChartRect` property of the FacetChart.
      Returns:
        Boolean

    - #### setShowDataPoints

          public void setShowDataPoints(java.lang.Boolean showDataPoints)

      For Line, Area, Radar, Scatter or Bubble charts, whether to show data points for each individual data value.

      If shown, the `MetricSettings.pointClick()` and `MetricSettings.getPointHoverHTML()` APIs can be used to create interactivity.

      Parameters:
        `showDataPoints` - Default value is false

    - #### getShowDataPoints

          public java.lang.Boolean getShowDataPoints()

      For Line, Area, Radar, Scatter or Bubble charts, whether to show data points for each individual data value.

      If shown, the `MetricSettings.pointClick()` and `MetricSettings.getPointHoverHTML()` APIs can be used to create interactivity.

      Returns:
        Boolean

    - #### setShowDataValues

          public void setShowDataValues(java.lang.Boolean showDataValues)

      Should data values be shown as text labels near the shape representing the value, for example, above columns of a column chart, or adjacent to points in a line chart?

      If set to false, then data values will not be shown.

      If set to true, data values will be shown unless the data density is high enough that labels will potentially overlap, in which case, data values will not be shown and `showValueOnHover` will be enabled instead.

      Parameters:
        `showDataValues` - Default value is null

    - #### getShowDataValues

          public java.lang.Boolean getShowDataValues()

      Should data values be shown as text labels near the shape representing the value, for example, above columns of a column chart, or adjacent to points in a line chart?

      If set to false, then data values will not be shown.

      If set to true, data values will be shown unless the data density is high enough that labels will potentially overlap, in which case, data values will not be shown and `showValueOnHover` will be enabled instead.

      Returns:
        Boolean

    - #### setShowShadows

          public void setShowShadows(java.lang.Boolean showShadows)

      Whether to automatically show shadows for various charts.
      Parameters:
        `showShadows` - Default value is true

    - #### getShowShadows

          public java.lang.Boolean getShowShadows()

      Whether to automatically show shadows for various charts.
      Returns:
        Boolean

    - #### setShowValueAxisLabel

          public void setShowValueAxisLabel(java.lang.Boolean showValueAxisLabel)

      Whether to show the `valueTitle` (or, in the case of `proportional rendering mode`, `proportionalAxisLabel`) as a label on this extra value axis.
      Parameters:
        `showValueAxisLabel` - Default value is null

    - #### getShowValueAxisLabel

          public java.lang.Boolean getShowValueAxisLabel()

      Whether to show the `valueTitle` (or, in the case of `proportional rendering mode`, `proportionalAxisLabel`) as a label on this extra value axis.
      Returns:
        Boolean

    - #### setShowValueOnHover

          public void setShowValueOnHover(java.lang.Boolean showValueOnHover)

      Shows the value of the nearest data value in a floating label whenever the mouse moves within the main chart area. The visual element representing the data value will also be emphasized by brightening or highlighting it (appearance differs by chart type).

      Calculates nearest value based on `FacetChart.getNearestDrawnValue()`.

      The data value will be formatted using `FacetChart.formatDataValue()`. The label's appearance is controlled by `hoverLabelProperties`.

      Parameters:
        `showValueOnHover` - Default value is null

    - #### getShowValueOnHover

          public java.lang.Boolean getShowValueOnHover()

      Shows the value of the nearest data value in a floating label whenever the mouse moves within the main chart area. The visual element representing the data value will also be emphasized by brightening or highlighting it (appearance differs by chart type).

      Calculates nearest value based on `FacetChart.getNearestDrawnValue()`.

      The data value will be formatted using `FacetChart.formatDataValue()`. The label's appearance is controlled by `hoverLabelProperties`.

      Returns:
        Boolean

    - #### setStacked

          public void setStacked(java.lang.Boolean stacked)

      If the `ChartType` is "Column" then the metric settings may include a setting for `stacked`.

      If this method is called after the component has been drawn/initialized: Method to change `stacked`. Use null to apply a default value for the current `chartType`.

      Parameters:
        `stacked` - new value. Default value is null

    - #### getStacked

          public java.lang.Boolean getStacked()

      If the `ChartType` is "Column" then the metric settings may include a setting for `stacked`.

      Returns:
        Boolean

    - #### setUseLogGradations

          public void setUseLogGradations(java.lang.Boolean useLogGradations)

      Whether to use classic logarithmic gradations, where each order of magnitude is shown as a gradation as well as a few intervening lines. Gradations also begin and end on an order of magnitude. For example, 1,2,4,6,8,10,20,40,60,80,100.

      Default gradations can be overridden via `logBase` and `logGradations`.

      Parameters:
        `useLogGradations` - Default value is false

    - #### getUseLogGradations

          public java.lang.Boolean getUseLogGradations()

      Whether to use classic logarithmic gradations, where each order of magnitude is shown as a gradation as well as a few intervening lines. Gradations also begin and end on an order of magnitude. For example, 1,2,4,6,8,10,20,40,60,80,100.

      Default gradations can be overridden via `logBase` and `logGradations`.

      Returns:
        Boolean

    - #### setValueAxisLabelProperties

          public void setValueAxisLabelProperties(DrawLabel valueAxisLabelProperties)

      Properties for labels of value axis.
      Parameters:
        `valueAxisLabelProperties` - Default value is null

    - #### getValueAxisLabelProperties

          public DrawLabel getValueAxisLabelProperties()

      Properties for labels of value axis.
      Returns:
        DrawLabel

    - #### setValueLineProperties

          public void setValueLineProperties(DrawLine valueLineProperties)

      Properties for a "value line" - a line shows where a particular discrete value is placed, eg, vertical lines connecting points of a line chart to the X axis, or radial lines in a Radar chart.
      Parameters:
        `valueLineProperties` - Default value is null

    - #### getValueLineProperties

          public DrawLine getValueLineProperties()

      Properties for a "value line" - a line shows where a particular discrete value is placed, eg, vertical lines connecting points of a line chart to the X axis, or radial lines in a Radar chart.
      Returns:
        DrawLine

    - #### setValueTitle

          public void setValueTitle(java.lang.String valueTitle)

      A label for the data values, such as "Sales in Thousands", typically used as the label for the value axis.
      Parameters:
        `valueTitle` - Default value is null

    - #### getValueTitle

          public java.lang.String getValueTitle()

      A label for the data values, such as "Sales in Thousands", typically used as the label for the value axis.
      Returns:
        String

    - #### getDataColor

          public java.lang.String getDataColor(int index)

      Get a color from the `dataColors` Array
      Parameters:
        `index` - index of the visual element to be colored
      Returns:

    - #### getGradations

          public float[] getGradations()

      Return an array of the gradation values used in the current chart. Pass these values to `MetricSettings.getXCoord()` / `MetricSettings.getYCoord()` (depending on the orientation of the chart) to discover the coordinates where gradations are drawn.

      This is only allowed to be called when `FacetChart.chartDrawn()` fires.

      Returns:
        an array of gradation values used in the current chart.

    - #### getXCoord

          public float getXCoord(float value)

      Deprecated. `GwtFloatVsDouble`
      Returns the X coordination where the passed data value would be drawn. For example, this would be the X coordinate where a bar would end in a bar chart.

      This is only allowed to be called when `FacetChart.chartDrawn()` fires.

      If the `ChartType` is "Bar", "Bubble", or "Scatter" then `value` argument should be a number. For other rectangular charts, this method expects a `FacetValueMap` that uniquely identifies the data cell whose x-axis coordinate to retrieve.

      Parameters:
        `value` - the value to be drawn.
      Returns:
        the X coordinate where the passed data value would be drawn.

    - #### getXCoordAsDouble

          public double getXCoordAsDouble(double value)

      Returns the X coordination where the passed data value would be drawn. For example, this would be the X coordinate where a bar would end in a bar chart.

      This is only allowed to be called when `FacetChart.chartDrawn()` fires.

      If the `ChartType` is "Bar", "Bubble", or "Scatter" then `value` argument should be a number. For other rectangular charts, this method expects a `FacetValueMap` that uniquely identifies the data cell whose x-axis coordinate to retrieve.

      Parameters:
        `value` - the value to be drawn.
      Returns:
        the X coordinate where the passed data value would be drawn.

    - #### getYCoord

          public float getYCoord(float value)

      Deprecated. `GwtFloatVsDouble`
      Returns the Y coordination where the passed data value would be drawn. For example, this would be the Y coordinate that a line would pass through on a line chart, or the top of a column on a column chart.

      This is only allowed to be called when `FacetChart.chartDrawn()` fires.

      If the `ChartType` is "Area", "Bubble", "Column", "Line", or "Scatter" then the `value` argument should be a number. For "Bar" charts this method expects a `FacetValueMap` that uniquely identifies the data cell whose y-axis coordinate to retrieve.

      Parameters:
        `value` - the value to be drawn.
      Returns:
        the Y coordinate where the passed data value would be drawn.

    - #### getYCoordAsDouble

          public double getYCoordAsDouble(double value)

      Returns the Y coordination where the passed data value would be drawn. For example, this would be the Y coordinate that a line would pass through on a line chart, or the top of a column on a column chart.

      This is only allowed to be called when `FacetChart.chartDrawn()` fires.

      If the `ChartType` is "Area", "Bubble", "Column", "Line", or "Scatter" then the `value` argument should be a number. For "Bar" charts this method expects a `FacetValueMap` that uniquely identifies the data cell whose y-axis coordinate to retrieve.

      Parameters:
        `value` - the value to be drawn.
      Returns:
        the Y coordinate where the passed data value would be drawn.

    - #### setPointHoverCustomizer

          public void setPointHoverCustomizer(ChartPointHoverCustomizer hoverCustomizer)

      Display custom HTML when `showDataPoints` is true and the mouse hovers over a point.
      Parameters:
        `hoverCustomizer` -

    - #### setPointClickHandler

          public void setPointClickHandler(ChartPointClickHandler handler)

      Apply a handler to fire when `showDataPoints` is true, and the user clicks on a point.
      Parameters:
        `handler` -

    - #### setAxisValueFormatter

          public void setAxisValueFormatter(ValueFormatter formatter)

      Formatter to apply to values displayed in the gradation labels.
      Parameters:
        `formatter` - Formatter to apply to values displayed in the gradation labels

    - #### setDataValueFormatter

          public void setDataValueFormatter(ValueFormatter formatter)

      Formatter to apply to values displayed in the hover labels and other value labels
      Parameters:
        `formatter` - Formatter to apply to values displayed in the hover labels and other value labels