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);
無圖說個**。