MPAndroid-Chart库开发日常
一,lineChart(关于柱状和扇形其属性大同小异,看懂一个,其他两个很好理解)
1,lineChart属性:
lineChart.setBackgroundColor(getResources().getColor(R.color.public_white));//表北京色设置
lineChart.animateY(1000);//加载时的动画效果
lineChart.setTouchEnabled(true);允许启用/禁用所有可能的与图表的触摸交互。
lineChart.setScaleEnabled(false);启用/禁用两个轴上图表的缩放比例。
lineChart.setDoubleTapToZoomEnabled(false);将其设置为false以禁止通过双击缩放图表来缩放图表。
lineChart.setHighlightPerTapEnabled(true); 点击选中是否显示高亮线
lineChart.getLegend().setEnabled(false);//是否显示图例
lineChart表属性比较简单,网上搜索一大堆
X轴绘制
XAxis xAxis =lineChart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);//X轴位置
xAxis.setDrawGridLines(false);/设置x轴上每个点对应的线
xAxis.setDrawAxisLine(true);//是否禁止绘制x轴
xAxis.setLabelCount(数据长度, false);//参数一就是X轴的左边点,参数二照写
IAxisValueFormatter xAxisFormatter =new CashFlowXValueFormatter(dateList);//设置自定义的x轴值格式化器(关于X显示的内容可以在这里做处理)
xAxis.setValueFormatter(xAxisFormatter);
Y轴绘制(Y轴分左右两侧,根据项目需求)
//Y轴左侧
YAxis leftAxis =lineChart.getAxisLeft();
leftAxis.enableGridDashedLine(5f, 5f, 5f);
leftAxis.setGridColor(Color.parseColor("#E5E5E5"));
leftAxis.setDrawGridLines(true);//绘制格网线
leftAxis.setDrawLabels(true);//禁止绘制y轴标签
leftAxis.setDrawAxisLine(false);//禁止绘制y轴
leftAxis.setGridDashedLine(new DashPathEffect(new float[]{10f, 10f}, 0f));
leftAxis.setAxisMinimum(minimum); // this replaces setStartAtZero(true)
IAxisValueFormatter yAxisFormatter=new CashFlowFormattedYValue();
leftAxis.setValueFormatter(yAxisFormatter);
//Y轴-右边-隐藏
lineChart.getAxisRight().setEnabled(false);
LineDataSet setLine;
ArrayList<Entry> values;
if (lineChart.getData() !=null &&lineChart.getData().getDataSetCount() >0) {
setLine= (LineDataSet)lineChart.getData().getDataSetByIndex(0);
setLine.setValues(values);
lineChart.getData().notifyDataChanged();
lineChart.notifyDataSetChanged();
}else {
//这是是操作折线统计图中折线的属性
setLine=new LineDataSet(values, "");
setLine.setColor(Color.parseColor("#F5C577"));//折现颜色
setLine.setCircleColor(Color.parseColor("#F5C577"));//原点颜色
setLine.setLineWidth(1f); 折现宽度
setLine.setCircleRadius(3f); 连接原点半径
setLine.setHighLightColor(Color.rgb(244, 117, 117));
setLine.setDrawCircleHole(false);
setLine.setHighlightEnabled(true);
setLine.setDrawHorizontalHighlightIndicator(false); 横线是否显示
setLine.setDrawVerticalHighlightIndicator(true);竖线是否显示 lineChart上面加黑斜体的属性一定要为true
setLine.setDrawValues(false);
LineData data =new LineData(setLine);
data.setValueTextColor(Color.WHITE);
data.setValueTextSize(9f);
lineChart.setData(data);
}
//默认选中位置数据,一定要在最后调用在 lineChart.setData(data);之后调用
lineChart.highlightValue(位置, 0, 0);