MPAndroid-Chart库开发日常

2019-05-06  本文已影响0人  机器灵_砍菜刀


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

上一篇下一篇

猜你喜欢

热点阅读