-
-
Notifications
You must be signed in to change notification settings - Fork 9.1k
Dynamic & Realtime Data
MPAndroidChart is free software, as a result dynamic & realtime data is not officially supported. If you are looking for an enterprise-grade chart solution with extreme realtime performance and tech support, we recommend [SciChart](http://store.scichart.com?productTab=Android&CouponCode=MPANDROIDCHART)
All MPAndroidChart users are entitled to a special discount of 5% off the SciChart store, using the following discount code: MPANDROIDCHART
The coupon code also works for multiple licenses and can be entered directly on the checkout page.
MPAndroidChart does not offically support realtime data, however, for adding new data to the chart or removing data dynamically, there are various methods that allow to either add or remove Entry objects to an existing DataSet or DataSet objects to/from an existing ChartData object.
Class DataSet (and all subclasses):
-
addEntry(Entry e): Adds the givenEntryobject to theDataSet.
Class ChartData (and all subclasses):
-
addEntry(Entry e, int dataSetIndex): Adds the givenEntryto theDataSetat the specified dataset index. -
addDataSet(DataSet d): Adds the givenDataSetobject to theChartDataobject.
In addition to that, there are also methods for removing data dynamically:
Class DataSet (and all subclasses):
-
public boolean removeFirst(): Removes the first Entry (at index 0) of this DataSet from the entries array. Returns true if successful, false if not. -
public boolean removeLast(): Removes the last Entry (at index size-1) of this DataSet from the entries array. Returns true if successful, false if not. -
public boolean removeEntry(Entry e): Removes the givenEntryobject from theDataSet. Returns true if successful. -
public boolean removeEntry(int xIndex): Removes theEntryat the given x-index from theDataSet. Returns true if successful.
Class ChartData (and all subclasses):
-
public boolean removeEntry(Entry e, int dataSetIndex): Removes the givenEntryobject from theDataSetwith the given dataset index. Returns true if successful. -
public boolean removeEntry(int xIndex, int dataSetIndex): Removes theEntryat the given x-index from theDataSetwith the given dataset index. Returns true if successful. -
public boolean removeDataSet(DataSet d): Removes the givenDataSetobject from theChartDataobject. Returns true if successful. -
public boolean removeDataSet(int index): Removes theDataSetat the given index from theChartDataobject. Returns true if successful.
After adding or removing data dynamically, notifyDataSetChanged() must be called on the chart before refreshing it (by calling invalidate()).
// EXAMPLE 1
// add entries to the "data" object
exampleData.addEntry(...);
chart.notifyDataSetChanged(); // let the chart know it's data changed
chart.invalidate(); // refresh
// EXAMPLE 2
// add entries to "dataSet" object
dataSet.addEntry(...);
exampleData.notifyDataChanged(); // let the data know a dataSet changed
chart.notifyDataSetChanged(); // let the chart know it's data changed
chart.invalidate(); // refreshNote: Methods like moveViewTo(...) will automatically call invalidate().