使用mpandroid更改折线图中的圆形颜色

时间:2016-01-11 13:49:14

标签: android mpandroidchart

我正在尝试点击折线图上特定圆圈的点击,以便在点击时更改其(点击的圆圈)颜色。

以下是我的尝试:

LineDataSet  set1 = new LineDataSet(yVals, "DataSet 1");

@Override
public void onValueSelected(Entry entry, int i) {
    set1.setCircleColorHole(Color.GREEN);  
}

目前正在发生的事情是,点击后,所有圆圈的颜色都在变化。应该发生的是只有被点击的圆圈 - 它的颜色应该改变。

1 个答案:

答案 0 :(得分:0)

您当前正在为set1设置整个数据集的颜色。这就是为什么你报告所有圈子'颜色正在改变。您需要为单个实体执行此操作。

根据OnChartValueSelectedListener的文档,可以重写方法onValueSelected以包含额外参数Highlight免责声明我之前从未使用过此图形库,因此可能需要进行一些实验。

直接来自此处找到的chart的源代码(撰写本文时第562行):

https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartLib/src/com/github/mikephil/charting/charts/Chart.java

 /**
 * Highlights the values represented by the provided Highlight object
 * This DOES NOT generate a callback to the OnChartValueSelectedListener.
 *
 * @param highlight contains information about which entry should be highlighted
 */
public void highlightValue(Highlight highlight) {
    highlightValue(highlight, false);
}

理论上,这将突出显示所选的值。执行类似操作的其他方法具有以下签名:

public void highlightValue(int xIndex, int dataSetIndex)

public void highlightValues(Highlight[] highs)

public void highlightValue(Highlight high, boolean callListener)