清除之前绘制的图表 MPAndroidChart - Android?
Posted
技术标签:
【中文标题】清除之前绘制的图表 MPAndroidChart - Android?【英文标题】:clear the previously drawn chart MPAndroidChart - Android? 【发布时间】:2017-09-25 02:01:53 【问题描述】:我使用来自MPandroidChart。如何清除之前绘制的图表?
我使用的是 from (Line Chart (Dual YAxis))
【问题讨论】:
只需清除您传递给它的arrayList。并尝试使用空数组再次重绘图表。 【参考方案1】:您必须添加以下行以清除先前的图表。
arraylist.clear();
mChart.invalidate();
mChart.clear();
【讨论】:
完美!另请注意:我也遇到了一个问题,因为我没有清除我的 ArrayList,所以它存储了所有以前的项目。 xD【参考方案2】:private fun resetChart()
barChart.fitScreen()
barChart.data?.clearValues()
barChart.xAxis.valueFormatter = null
barChart.notifyDataSetChanged()
barChart.clear()
barChart.invalidate()
这是 Kotlin,但我发现我需要执行所有步骤以避免崩溃。
【讨论】:
【参考方案3】:你只需要打电话
mChart.clear();
【讨论】:
【参考方案4】:我将 LineChart 用作 ViewPager 中的片段。清除旧数据所需要做的就是将关联的 LineDataSet 对象分配给 null。
【讨论】:
【参考方案5】:有时您可能没有对 ArrayList 的引用,因此您必须正确地执行类似的操作。
if(chart.getData() != null)
chart.getData().clearValues();
chart.clear();
注意:chart.clear() 将 null 分配给 mData 并在图表上调用 invalidate,因此您不需要多次调用。
如果你还有一些缩放问题,你可以使用。
chart.setFitBars(true);
chart.fitScreen();
来源:https://javadoc.jitpack.io/com/github/PhilJay/MPAndroidChart/v3.1.0/javadoc/com/github/mikephil/charting/charts/Chart.html#clear--
【讨论】:
【参考方案6】:如果您已经有一个数据集,只需将其删除,然后再添加新数据
if (mDataSet != null)
binding.chart.lineData.removeDataSet(mDataSet)
// create a dataset and give it a type
val set1 = LineDataSet(values, "Data1")
val dataSets: ArrayList<ILineDataSet> = ArrayList()
// add the data sets
dataSets.add(set1)
【讨论】:
以上是关于清除之前绘制的图表 MPAndroidChart - Android?的主要内容,如果未能解决你的问题,请参考以下文章
Android 图表框架MPAndroidChartr如何不绘制右边的Y轴
如何在Android中使用MPAndroidChart绘制面积图?