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);

 

無圖說個**。

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