Interface that provides everything there is to know about the dimensions, bounds, and range of the chart.

Type Parameters

Hierarchy (View Summary)

Implements

Constructors

Properties

Accessors

Methods

Constructors

Properties

animator: ChartAnimator

object responsible for animations

autoScaleMinMaxEnabled: boolean

flag that indicates if auto scaling on the y axis is enabled

chartTouchListener: BarLineChartTouchListener
clipDataToContent: boolean
clipHighlightToContent: boolean

wheter to highlight drawing will be clipped to contentRect, otherwise they can bleed outside the content rect.

clipValuesToContent: boolean
defaultValueFormatter: DefaultValueFormatter

the default IValueFormatter that has been determined by the chart considering the provided minimum and maximum values, number of digits depends on provided chart-data

descPaint: Paint

palet object used for drawing the description text in the bottom right corner of the chart

disableScrollEnabled: boolean

Wether to disable scroll while touching the chart. Default to true

doubleTapGestureOptions: TapGestureHandlerOptions & { gestureTag?: number }
dragDecelerationEnabled: boolean

If set to true, chart continues to scroll after touch up

dragDecelerationFrictionCoef: number

Deceleration friction coefficient in [0 ; 1] interval, higher values indicate that speed will decrease slowly, for example if it set to 0, it will stop immediately. value must be < 1.0

dragXEnabled: boolean

if true, dragging is enabled for the chart

dragYEnabled: boolean
drawBorders: boolean
drawGridBackgroundEnabled: boolean

flag indicating if the grid background should be drawn or not

drawHighlight: boolean
drawMarkersEnabled: boolean

if set to true, the marker view is drawn when a value is clicked

extraBottomOffset: number
extraLeftOffset: number
extraRightOffset: number
extraTopOffset: number

Extra offsets to be appended to the viewport

highlighter: IHighlighter
highlightsFilterByAxis: boolean

Wether to filter highlights by axis. Default is true

indicesToHighlight: Highlight<Entry>[]

array of Highlight objects that reference the highlighted slices in the chart

jobs: any[]

tasks to be done after the view is setup

keepPositionOnRotation: boolean

flag indicating if the chart should stay at the same position after a rotation. Default is false.

leftAxisRenderer: YAxisRenderer

axis renderer for the left axis.

leftAxisTransformer: Transformer
legendRenderer: LegendRenderer

Gesture listener for custom callbacks when making gestures on the chart.

marker: IMarker

the view that represents the marker

maxHighlightDistance: number

The maximum distance in dp away from an entry causing it to highlight.

mAxisLeft: YAxis

the object representing the labels on the left y-axis

mAxisRight: YAxis

the object representing the labels on the right y-axis

maxVisibleValueCount: number

the maximum number of entries to which values will be drawn (entry numbers greater than this value will cause value-labels to disappear)

mBorderPaint: Paint
mData: T

object that holds all data that was originally set for the chart, before it was modified or any filtering algorithms had been applied

mDescription: Description

the object responsible for representing the description text

mDisallowInterceptTouchEvent: boolean
mDoubleTapToZoomEnabled: boolean

flag that indicates if double tap zoom is enabled or not

mFitScreenMatrixBuffer: Matrix
mGridBackgroundPaint: Paint

palet object for the (by default) lightgrey background of the grid

mHighlightPerDragEnabled: boolean

flag that indicates if highlighting per dragging over a fully zoomed out chart is enabled

mHighlightPerTapEnabled: boolean

Flag that indicates if highlighting per tap (touch) is enabled

mInfoPaint: Paint

palet object for drawing the information text when there are no values in the chart

minOffset: number

Sets the minimum offset (padding) around the chart, defaults to 15

mLegend: Legend

the legend object containing all data associated with the legend

mOnSizeChangedBuffer: TypedArray
mZoomMatrixBuffer: Matrix

CODE BELOW THIS RELATED TO SCALING AND GESTURES AND MODIFICATION OF THE VIEWPORT

noComputeAutoScaleOnNextDraw: boolean

let the chart know it does not need to compute autoScale (it can used the cached ones)

noComputeAxisOnNextDraw: boolean

let the chart know it does not need to compute axis and legends (it can used the cached ones)

noDataText: any

text that is displayed when the chart is empty

offsetsCalculated: any

flag that indicates if offsets calculation has already been done or not

panGestureOptions: PanGestureHandlerOptions & { gestureTag?: number }
pinchGestureOptions: PinchGestureHandlerOptions & { gestureTag?: number }
pinchZoomEnabled: boolean

flag that indicates if pinch-zoom is enabled. if true, both x and y axis can be scaled with 2 fingers, if false, x and y axis can be scaled separately

posForGetHighestVisibleX: { x: number; y: number }

buffer for storing highest visible x point

posForGetLowestVisibleX: { x: number; y: number }

buffer for storing lowest visible x point

renderer: DataRenderer

object responsible for rendering the data

rightAxisRenderer: YAxisRenderer

axis renderer for the right axis.

rightAxisTransformer: Transformer
rotationGestureOptions: RotationGestureHandlerOptions & { gestureTag?: number }
tapGestureOptions: TapGestureHandlerOptions & { gestureTag?: number }
viewPortHandler: ViewPortHandler

object that manages the bounds and drawing constraints of the chart

xAxis: XAxis

the object representing the labels on the x-axis

xAxisRenderer: XAxisRenderer

axis renderer for the x axis.

zoomedPanWith2Pointers: boolean

flag that indicates zoomed pan gesture should only work with 2 pointers

Accessors

  • get anyAxisInverted(): boolean
  • Returns true if either the left or the right or both axes are inverted.

    Returns boolean

  • get axisLeft(): YAxis
  • Returns YAxis

    use leftAxis

  • get axisRight(): YAxis
  • Returns YAxis

    use rightAxis

  • get borderPaint(): Paint
  • Returns Paint

  • get center(): { x: number; y: number }
  • Returns a recyclable MPPointF instance. Returns the center polet of the chart (the whole View) in pixels.

    Returns { x: number; y: number }

  • get centerOffsets(): { x: number; y: number }
  • Returns a recyclable MPPointF instance. Returns the center of the chart taking offsets under consideration. (returns the center of the content rectangle)

    Returns { x: number; y: number }

  • get centerOfView(): { x: number; y: number }
  • Returns a recyclable MPPointF instance.

    Returns { x: number; y: number }

  • get chartBitmap(): any
  • Returns the bitmap that represents the chart.

    Returns any

  • get contentRect(): RectF
  • Returns the rectangle that defines the borders of the chart-value surface (into which the actual values are drawn).

    Returns RectF

  • get data(): T
  • Returns the ChartData object that has been set for the chart.

    Returns T

  • set data(data: T): void
  • Sets a new data object for the chart. The data object contains all values and information needed for displaying.

    Parameters

    • data: T

    Returns void

  • get description(): Description
  • Returns the animator responsible for animating chart values.

    Returns Description

  • get doubleTapToZoomEnabled(): boolean
  • Returns true if zooming via double-tap is enabled false if not.

    Returns boolean

  • set doubleTapToZoomEnabled(enabled: boolean): void
  • Set this to true to enable zooming in by double-tap on the chart. Default: enabled

    Parameters

    • enabled: boolean

    Returns void

  • get dragEnabled(): boolean
  • Returns true if dragging is enabled for the chart, false if not.

    Returns boolean

  • set dragEnabled(enabled: boolean): void
  • Set this to true to enable dragging (moving the chart with the finger) for the chart (this does not effect scaling).

    Parameters

    • enabled: boolean

    Returns void

  • set extraOffsets(value: [number, number, number, number]): void
  • Sets extra offsets (around the chart view) to be appended to the auto-calculated offsets.

    Parameters

    • value: [number, number, number, number]

    Returns void

  • set gridBackgroundColor(color: any): void
  • Sets the color for the background of the chart-drawing area (everything behind the grid lines).

    Parameters

    • color: any

    Returns void

  • get gridBackgroundPaint(): Paint
  • Returns Paint

  • get hasValuesToHighlight(): boolean
  • Returns true if there are values to highlight, false if there are no values to highlight. Checks if the highlight array is null, has a length of zero or if the first object is null.

    Returns boolean

  • get highlighted(): Highlight<Entry>[]
  • Returns the array of currently highlighted values. This might a null or empty array if nothing is highlighted.

    Returns Highlight<Entry>[]

  • get highlightPerDragEnabled(): boolean
  • Returns boolean

  • set highlightPerDragEnabled(enabled: boolean): void
  • Set this to true to allow highlighting per dragging over the chart surface when it is fully zoomed out. Default: true

    Parameters

    • enabled: boolean

    Returns void

  • get highlightPerTapEnabled(): boolean
  • Returns boolean

  • set highlightPerTapEnabled(enabled: boolean): void
  • Parameters

    • enabled: boolean

    Returns void

  • get infoPaint(): Paint
  • Returns Paint

  • set lastHighlighted(highs: any): void
  • Sets the last highlighted value for the touchlistener.

    Parameters

    • highs: any

    Returns void

  • get leftAxis(): YAxis
  • Returns the left y-axis object. In the horizontal bar-chart, this is the top axis.

    Returns YAxis

  • get legend(): Legend
  • Returns the Legend object of the chart. This method can be used to get an instance of the legend in order to customize the automatically generated Legend.

    Returns Legend

  • get length(): boolean
  • Returns true if the chart is empty (meaning it's data object is either null or contains no entries).

    Returns boolean

  • set noDataTextColor(color: any): void
  • Sets the color of the no data text.

    Parameters

    • color: any

    Returns void

  • set noDataTextTypeface(tf: Font): void
  • Sets the typeface to be used for the no data text.

    Parameters

    • tf: Font

    Returns void

  • get rightAxis(): YAxis
  • Returns the right y-axis object. In the horizontal bar-chart, this is the bottom axis.

    Returns YAxis

  • set scaleEnabled(enabled: any): void
  • Set this to true to enable scaling (zooming in and out by gesture) for the chart (this does not effect dragging) on both X- and Y-Axis.

    Parameters

    • enabled: any

    Returns void

  • get scaleXEnabled(): boolean
  • Returns boolean

  • set scaleXEnabled(enabled: boolean): void
  • Parameters

    • enabled: boolean

    Returns void

  • get scaleYEnabled(): boolean
  • Returns boolean

  • set scaleYEnabled(enabled: boolean): void
  • Parameters

    • enabled: boolean

    Returns void

  • get viewPortScaleX(): number
  • Returns number

  • get viewPortScaleY(): number
  • Returns number

  • set visibleXRangeMaximum(maxXRange: any): void
  • Sets the size of the area (range on the x-axis) that should be maximum visible at once (no further zooming out allowed). If this is e.g. set to 10, no more than a range of 10 on the x-axis can be viewed at once without scrolling.

    Parameters

    • maxXRange: any

      The maximum visible range of x-values.

    Returns void

  • set visibleXRangeMinimum(minXRange: any): void
  • Sets the size of the area (range on the x-axis) that should be minimum visible at once (no further zooming in allowed). If this is e.g. set to 10, no less than a range of 10 on the x-axis can be viewed at once without scrolling.

    Parameters

    • minXRange: any

      The minimum visible range of x-values.

    Returns void

  • get xChartMax(): number
  • Returns the maximum x value of the chart, regardless of zoom or translation.

    Returns number

  • get xChartMin(): number
  • Returns the minimum x value of the chart, regardless of zoom or translation.

    Returns number

  • get yChartMax(): number
  • Returns the maximum y value of the chart, regardless of zoom or translation.

    Returns number

  • get yChartMin(): number
  • Returns the minimum y value of the chart, regardless of zoom or translation.

    Returns number

  • get yMax(): number
  • returns the current y-max value across all DataSets

    Returns number

  • get yMin(): number
  • returns the current y-min value across all DataSets

    Returns number

Methods

  • Parameters

    • arg: string | GestureTypes
    • callback: (data: EventData) => void
    • OptionalthisArg: any

    Returns void

  • Either posts a job immediately if the chart has already setup it's dimensions or adds the job to the execution queue.

    Parameters

    Returns void

  • Animates the rendering of the chart on the x-axis with the specified animation time. If animate(...) is called, no further calling of invalidate() is necessary to refresh the chart. ANIMATIONS ONLY WORK FOR API LEVEL 11 (Android 3.0.x) AND HIGHER.

    Parameters

    • durationMillis: any
    • Optionaleasing: EasingFunction

      a custom easing function to be used on the animation phase

    Returns void

  • Animates the drawing / rendering of the chart on both x- and y-axis with the specified animation time. If animate(...) is called, no further calling of invalidate() is necessary to refresh the chart. ANIMATIONS ONLY WORK FOR API LEVEL 11 (Android 3.0.x) AND HIGHER.

    Parameters

    • durationMillisX: any
    • durationMillisY: any
    • OptionaleasingX: EasingFunction

      a custom easing function to be used on the animation phase

    • OptionaleasingY: EasingFunction

      a custom easing function to be used on the animation phase

    Returns void

  • Animates the rendering of the chart on the y-axis with the specified animation time. If animate(...) is called, no further calling of invalidate() is necessary to refresh the chart. ANIMATIONS ONLY WORK FOR API LEVEL 11 (Android 3.0.x) AND HIGHER.

    Parameters

    • durationMillis: any
    • Optionaleasing: EasingFunction

      a custom easing function to be used on the animation phase

    Returns void

  • Performs auto scaling of the axis by recalculating the minimum and maximum y-values based on the entries currently in view.

    Returns void

  • Calculates the y-min and y-max value and the y-delta and x-delta value

    Returns void

  • Parameters

    • offsets: any

    Returns void

  • Calculates the offsets of the chart to the border depending on the position of an eventual legend or depending on the length of the y-axis and x-axis labels and their position

    Parameters

    • Optionalforce: boolean

    Returns void

  • This will move the center of the current viewport to the specified x and y value. This also refreshes the chart by calling invalidate().

    Parameters

    • xValue: any
    • yValue: any
    • axis: any

      which axis should be used as a reference for the y axis

    Returns void

  • This will move the center of the current viewport to the specified x and y value animated.

    Parameters

    • xValue: any
    • yValue: any
    • axis: any
    • duration: any

      the duration of the animation in milliseconds

    Returns void

  • Centers the viewport to the specified y value on the y-axis. This also refreshes the chart by calling invalidate().

    Parameters

    • yValue: any
    • axis: any

      which axis should be used as a reference for the y-axis

    Returns void

  • Clears the chart from all data (sets it to null) and refreshes it (by calling invalidate()).

    Returns void

  • Returns void

  • Removes all DataSets (and thereby Entries) from the chart. Does not set the data object to null. Also refreshes the chart by calling invalidate().

    Returns void

  • disables intercept touchevents

    Returns void

  • Clean up references to the native view.

    Returns void

  • Parameters

    • canvas: Canvas

    Returns void

  • Draws the description text in the bottom right corner of the chart (per default)

    Parameters

    • c: Canvas

    Returns void

  • draws the grid background

    Parameters

    • c: Canvas

    Returns void

  • draws all MarkerViews on the highlighted positions

    Parameters

    • canvas: Canvas

    Returns void

  • enables intercept touchevents

    Returns void

  • Resets all zooming and dragging and makes the chart fit exactly it's bounds.

    Returns void

  • Returns the y-axis object to the corresponding AxisDependency. In the horizontal bar-chart, LEFT == top, RIGHT == BOTTOM

    Parameters

    • axis: any

    Returns YAxis

  • Returns the range of the specified axis.

    Parameters

    • axis: any

    Returns number

  • returns the DataSet object displayed at the touched position of the chart

    Parameters

    • x: any
    • y: any

    Returns D

  • returns the Entry object displayed at the touched position of the chart

    Parameters

    • x: any
    • y: any

    Returns Entry

  • Returns the Highlight object (contains x-index and DataSet index) of the selected value at the given touch polet inside the Line-, Scatter-, or CandleStick-Chart.

    Parameters

    • x: any
    • y: any

    Returns Highlight<Entry>

  • Returns the Highlight object (contains x-index and DataSet index) of the selected value at the given touch polet inside the Line-, Scatter-, or CandleStick-Chart.

    Parameters

    • xValue: any

    Returns Highlight<Entry>[]

  • Returns the Highlights (contains x-index and DataSet index) of the selected value at the given touch polet inside the Line-, Scatter-, or CandleStick-Chart.

    Parameters

    • x: any
    • y: any

    Returns Highlight<Entry>[]

  • Returns all jobs that are scheduled to be executed after onSizeChanged(...).

    Returns any[]

  • Returns the actual position in pixels of the MarkerView for the given Highlight object.

    Parameters

    Returns number[]

  • Returns a recyclable MPPointD instance Transforms the given chart values into pixels. This is the opposite method to getValuesByTouchPoint(...).

    Parameters

    Returns { x: number; y: number }

  • Returns a recyclable MPPointD instance Transforms the given chart values into pixels. This is the opposite method to getValuesByTouchPoint(...).

    Parameters

    • x: any
    • y: any
    • axis: any

    Returns { x: number; y: number }

  • Returns a recyclable MPPointF instance. Returns the position (in pixels) the provided Entry has inside the chart view or null, if the provided Entry is null.

    Parameters

    • e: U
    • axis: any

    Returns { x: number; y: number }

  • returns the current x-scale factor

    Returns number

  • returns the current y-scale factor

    Returns number

  • Returns a recyclable MPPointD instance Returns the x and y values in the chart at the given touch point (encapsulated in a MPPointD). This method transforms pixel coordinates to coordinates / values in the chart. This is the opposite method to getPixelForValues(...).

    Parameters

    • x: any
    • y: any
    • axis: any

    Returns any

  • Returns the range visible on the x-axis.

    Returns number

  • Returns true if both drag offsets (x and y) are zero or smaller.

    Returns boolean

  • Highlights the value selected by touch gesture. Unlike highlightValues(...), this generates a callback to the OnChartValueSelectedListener.

    Parameters

    Returns void

  • Highlights the value selected by touch gesture. Unlike highlightValues(...), this generates a callback to the OnChartValueSelectedListener.

    Parameters

    • highs: Highlight<Entry>[]
    • OptionalcallListener: boolean

      call the listener

    Returns void

  • Highlights any y-value at the given x-value in the given DataSet. Provide -1 as the dataSetIndex to undo all highlighting.

    Parameters

    • x: any

      The x-value to highlight

    • y: any

      The y-value to highlight. Supply NaN for "any"

    • dataSetIndex: any

      The dataset index to search in

    • OptionalcallListener: boolean

      Should the listener be called for this change

    Returns void

  • Highlights the values at the given indices in the given DataSets. Provide null or an empty array to undo all highlighting. This should be used to programmatically highlight values. This method will not call the listener.

    Parameters

    • highs: any

    Returns void

  • initialize all paints and stuff

    Returns void

  • Initializes properties/listeners of the native view.

    Returns void

  • if the chart is fully zoomed out, return true

    Returns boolean

  • This will move the left side of the current viewport to the specified x-value on the x-axis, and center the viewport to the specified y value on the y-axis. This also refreshes the chart by calling invalidate().

    Parameters

    • xValue: any
    • yValue: any
    • axis: any

      which axis should be used as a reference for the y-axis

    Returns void

  • This will move the left side of the current viewport to the specified x-value and center the viewport to the y value animated. This also refreshes the chart by calling invalidate().

    Parameters

    • xValue: any
    • yValue: any
    • axis: any
    • duration: any

      the duration of the animation in milliseconds

    Returns void

  • Moves the left side of the current viewport to the specified x-position. This also refreshes the chart by calling invalidate().

    Parameters

    • xValue: any

    Returns void

  • Lets the chart know its underlying data has changed and performs all necessary recalculations. It is crucial that this method is called everytime data is changed dynamically. Not calling this method can lead to crashes or unexpected behaviour.

    Returns void

  • Parameters

    • canvas: Canvas

    Returns void

  • Called from layout when this view should assign a size and position to each of its children. Derived classes with children should override this method and call layout on each of their children.

    Parameters

    • left: number

      Left position, relative to parent

    • top: number

      Top position, relative to parent

    • right: number

      Right position, relative to parent

    • bottom: number

      Bottom position, relative to parent

    Returns void

  • Parameters

    • w: number
    • h: number

    Returns void

  • Parameters

    • w: number
    • h: number
    • oldw: number
    • oldh: number

    Returns void

  • Returns void

  • Returns void

  • Parameters

    • arg: string | GestureTypes
    • Optionalcallback: any
    • OptionalthisArg: any

    Returns void

  • Parameters

    • job: any

    Returns void

  • RESET PERFORMANCE TRACKING FIELDS

    Returns void

  • Resets all custom offsets set via setViewPortOffsets(...) method. Allows the chart to again calculate all offsets automatically.

    Returns void

  • Zooms out to original size.

    Returns void

  • Sets the color of the chart border lines.

    Parameters

    • color: any

    Returns void

  • Sets the width of the border lines in dp.

    Parameters

    • width: any

    Returns void

  • Set an offset in dp that allows the user to drag the chart over it's bounds on the x-axis.

    Parameters

    • offset: any

    Returns void

  • Set an offset in dp that allows the user to drag the chart over it's bounds on the y-axis.

    Parameters

    • offset: any

    Returns void

  • Sets extra offsets (around the chart view) to be appended to the auto-calculated offsets.

    Parameters

    • left: any
    • top: any
    • right: any
    • bottom: any

    Returns void

  • Sets the scale factor. 1 = fitScreen

    Parameters

    • scaleX: any
    • scaleY: any

    Returns void

  • Sets the minimum scale factor value to which can be zoomed out. 1 = fitScreen

    Parameters

    • scaleX: any
    • scaleY: any

    Returns void

  • Calculates the required number of digits for the values that might be drawn in the chart (if enabled), and creates the default-value-formatter

    Parameters

    • min: any
    • max: any

    Returns void

  • Sets custom offsets for the current ViewPort (the offsets on the sides of the actual chart window). Setting this will prevent the chart from automatically calculating it's offsets. Use resetViewPortOffsets() to undo this. ONLY USE THIS WHEN YOU KNOW WHAT YOU ARE DOING, else use setExtraOffsets(...).

    Parameters

    • left: any
    • top: any
    • right: any
    • bottom: any

    Returns void

  • Limits the maximum and minimum x range that can be visible by pinching and zooming. e.g. minRange=10, maxRange=100 the smallest range to be displayed at once is 10, and no more than a range of 100 values can be viewed at once without scrolling

    Parameters

    • minXRange: any
    • maxXRange: any

    Returns void

  • Limits the maximum and minimum y range that can be visible by pinching and zooming.

    Parameters

    • minYRange: any
    • maxYRange: any
    • axis: any

    Returns void

  • Sets the size of the area (range on the y-axis) that should be maximum visible at once.

    Parameters

    • maxYRange: any

      the maximum visible range on the y-axis

    • axis: any

      the axis for which this limit should apply

    Returns void

  • Sets the size of the area (range on the y-axis) that should be minimum visible at once, no further zooming in possible.

    Parameters

    • minYRange: any
    • axis: any

      the axis for which this limit should apply

    Returns void

  • Zooms in or out by the given scale factor. x and y are the coordinates (in pixels) of the zoom center.

    Parameters

    • scaleX: any

      if < 1 --> zoom out, if > 1 --> zoom in

    • scaleY: any

      if < 1 --> zoom out, if > 1 --> zoom in

    • x: any
    • y: any

    Returns void

  • Zooms by the specified scale factor to the specified values on the specified axis.

    Parameters

    • scaleX: any
    • scaleY: any
    • xValue: any
    • yValue: any
    • axis: any

    Returns void

  • Zooms by the specified scale factor to the specified values on the specified axis.

    Parameters

    • scaleX: any
    • scaleY: any
    • xValue: any
    • yValue: any
    • axis: any
    • duration: any

    Returns void

  • Zooms in or out by the given scale factor. x and y are the values (NOT PIXELS) of the zoom center..

    Parameters

    • scaleX: any
    • scaleY: any
    • xValue: any
    • yValue: any
    • axis: any

      the axis relative to which the zoom should take place

    Returns void

  • Zooms in by 1.4f, into the charts center.

    Returns void

  • Zooms out by 0.7f, from the charts center.

    Returns void

  • Zooms to the center of the chart with the given scale factor.

    Parameters

    • scaleX: any
    • scaleY: any

    Returns void