Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果MPAndroidChart中的值高于常量,如何更改点颜色_Android_Mpandroidchart - Fatal编程技术网

如果MPAndroidChart中的值高于常量,如何更改点颜色

如果MPAndroidChart中的值高于常量,如何更改点颜色,android,mpandroidchart,Android,Mpandroidchart,如果值大于3,我需要画红色圆圈。如何认识到这一点?我已经读到我应该覆盖方法画圈,但我不明白我应该在哪里这样做 LineDataSet set1; set1 = new LineDataSet(entries, ""); chart.getLegend().setEnabled(false); set1.setColor(Color.WHITE); set1.setCircleColor(Color.WHITE); set1.setLineWid

如果值大于3,我需要画红色圆圈。如何认识到这一点?我已经读到我应该覆盖方法画圈,但我不明白我应该在哪里这样做

    LineDataSet set1;

    set1 = new LineDataSet(entries, "");
    chart.getLegend().setEnabled(false);

    set1.setColor(Color.WHITE);
    set1.setCircleColor(Color.WHITE);
    set1.setLineWidth(2f);
    set1.setCircleRadius(4f);
    set1.setValueTextSize(9f);
    set1.setValueTextColor(Color.WHITE);
    ArrayList<ILineDataSet> dataSets = new ArrayList<>();
    dataSets.add(set1); // add the datasets

    // create a data object with the datasets
    LineData data = new LineData(xVals, dataSets);
    chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
    chart.getAxisRight().setEnabled(false);
    chart.setScaleMinima(6f, 1f);
    if (measure.equals("co")) {
        LimitLine ll = new LimitLine(CO_CRITICAL, getResources().getString(R.string.critical_co));
        ll.setLineColor(Color.RED);
        ll.setLineWidth(1f);
        ll.setTextColor(Color.WHITE);
        ll.setTextSize(10f);
        chart.getAxisLeft().addLimitLine(ll);
    } else if (measure.equals("no2")) {
        LimitLine ll = new LimitLine(NO2_CRITICAL, getResources().getString(R.string.critical_no2));
        ll.setLineColor(Color.RED);
        ll.setLineWidth(1f);
        ll.setTextColor(Color.WHITE);
        ll.setTextSize(10f);
        chart.getAxisLeft().addLimitLine(ll);
    }

    // set data
    chart.setData(data);
LineDataSet集1;
set1=新的LineDataSet(条目“”);
chart.getLegend().setEnabled(false);
set1.setColor(Color.WHITE);
set1.setCircleColor(颜色:白色);
设置1.设置线宽(2f);
set1.setCircleRadius(4f);
set1.setValueTextSize(9f);
set1.setValueTextColor(Color.WHITE);
ArrayList数据集=新的ArrayList();
数据集。添加(set1);//添加数据集
//使用数据集创建数据对象
LineData数据=新的LineData(xVAL,数据集);
chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
chart.getAxisRight().setEnabled(false);
图表.最小值(6f,1f);
if(度量值等于(“co”)){
LimitLine ll=new LimitLine(CO_CRITICAL,getResources().getString(R.string.CRITICAL_CO));
ll.setLineColor(颜色为红色);
ll.设置线宽(1f);
ll.setTextColor(颜色为白色);
ll.SettexSize(10f);
chart.getAxisLeft().addLimitLine(ll);
}else if(测量值等于(“no2”)){
LimitLine ll=new LimitLine(NO2_CRITICAL,getResources().getString(R.string.CRITICAL_NO2));
ll.setLineColor(颜色为红色);
ll.设置线宽(1f);
ll.setTextColor(颜色为白色);
ll.SettexSize(10f);
chart.getAxisLeft().addLimitLine(ll);
}
//设置数据
图表.设置数据(数据);
试试这个:

定义一个
ArrayList

ArrayList<Integer> color = new ArrayList<>();
在添加数据集之前,添加

set1.setColors(color);
您可以查看链接以供参考。

希望这个答案能对你有所帮助。试试这个:

定义一个
ArrayList

ArrayList<Integer> color = new ArrayList<>();
在添加数据集之前,添加

set1.setColors(color);
您可以查看链接以供参考。

希望这个答案能对您有所帮助。
setColors()
将更改线条颜色而不是点颜色,要更改点颜色,您必须调用
setCircleColors()
setColors()
将更改线条颜色而不是点颜色,要更改点颜色,您必须调用
setCircleColors()