MPAndroidChart处理折线图数据只有一个数据

MPAndroidChart是一个Android图表类框架,十分强大,GitHub地址:https://github.com/PhilJay/MPAndroidChart

最近在使用LineChart折线图的时候,发现当折线图数据只有一个时,不会画出折线,还不显示圆圈点。所以最后搞了好久终于解决了:就是当折线图数据只有一个时,显示一个点。 具体代码如下:

 /**
     * initLineDataSet
     * @param entryList  折线数据
     */
    private void initLineDataSet(List<Entry> entryList){
        //每一个LineDataSet就是一根线
        LineDataSet lineDataSet = new LineDataSet(entryList, "折线1");
        //设置为折线
        lineDataSet.setMode(LineDataSet.Mode.LINEAR);
        lineDataSet.setAxisDependency(YAxis.AxisDependency.LEFT);
        //设置包括的范围区域填充颜色
        lineDataSet.setDrawFilled(false);
        //设置线的宽度
        lineDataSet.setLineWidth(1.5f);
        //设置曲线的颜色
        lineDataSet.setColor(Color.parseColor("FF4081"));
        //设置曲率,0.05f-1f  1为折线
        lineDataSet.setCubicIntensity(1f);
        
        //如果折线数据只有一个,显示圆点
        if (entryList.size() == 1){
            //设置有圆点
            lineDataSet.setDrawCircles(true);
            lineDataSet.setCircleColor(Color.parseColor("FF4081"));
            lineDataSet.setDrawHorizontalHighlightIndicator(true);
        }else {
            //设置没有圆点
            lineDataSet.setDrawCircles(false);
            lineDataSet.setDrawHorizontalHighlightIndicator(false);
        }

        lineDataSet.setHighLightColor(Color.GRAY);//高亮交叉指示线颜色
        lineDataSet.enableDashedHighlightLine(10f, 10f, 0f);
        //设置不显示数值
        lineDataSet.setDrawValues(true);

        LineData data = new LineData(lineDataSet);
        //设置显示值的颜色
        data.setValueTextColor(Color.GRAY);
        data.setValueTextSize(9f);
        mLineChart.animateX(1000);
        // set data
        mLineChart.setData(data);
        mLineChart.invalidate();
    }

其中,最关键的代码就是

//设置有圆点
lineDataSet.setDrawCircles(true);
lineDataSet.setCircleColor(Color.parseColor("FF4081"));
lineDataSet.setDrawHorizontalHighlightIndicator(true);

 

无图说个**。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章