MPAndroidChart简单使用之折线图,看这篇就够了

MPAndroidChart的基本使用

1.依赖的添加

Gradle

  • Project level build.gradle(在project的build.gradle中添加依赖
allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
  • App level build.gradle(在app的build.gradle中添加依赖
dependencies {
    implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
}

LineChart(折线图的简单使用)

private void initLineChart(List<Entry> entries, String label) {
    //传入需要绘制折线的数据,以及标签描述(该属性多用来设置点和线的相关属性)
    LineDataSet lineDataSet = new LineDataSet(entries, label);
    //设置圆点的颜色
    lineDataSet.setCircleColor(Color.RED);
    //设置折线的颜色
    lineDataSet.setColor(Color.RED);
    //设置是否绘制点的圆孔,默认true
    lineDataSet.setDrawCircleHole(false);
    //设置圆孔的大小(较为少用,了解即可)
    lineDataSet.setCircleRadius(1.0f);
    //设置该属性为false后,将仅显示折线,不显示绘制点以及绘制值
    lineDataSet.setDrawValues(false);
    //设置折线是否可见
    lineDataSet.setVisible(false);
    //对图的标签进行重设
    lineDataSet.setLabel("ance");
    //设置你点击后的高光指示器,没什么鸟用(了解一下即可)
    lineDataSet.setDrawVerticalHighlightIndicator(false);//垂直
    lineDataSet.setDrawHorizontalHighlightIndicator(false);//水平
    lineDataSet.setDrawHighlightIndicators(false);//他俩一起设置

    //行数据,多于点的相关属性有关,比如绘制值
    LineData lineData = new LineData(lineDataSet);
    //设置是否绘制点的值
    lineData.setDrawValues(false);
    //设置文本值的颜色
    lineData.setValueTextColor(Color.RED);
    //设置文本值的大小
    lineData.setValueTextSize(10.0f);
    //格式化绘制值
    lineData.setValueFormatter(new ValueFormatter() {
        @Override
        public String getFormattedValue(float value) {
            return super.getFormattedValue(value) + "ance";
        }
    });
    //设置值的字体属性,具体没设置过
    lineData.setValueTypeface();

    //设置数据
    lineChart.setData(lineData);
    //关闭右下角的描述,官方文档给出的setDescription()似乎不能通过true  or  false来设置了,改用这种方法
    lineChart.getDescription().setEnabled(false);
    //设置无数据时显示的文本
    lineChart.setNoDataText("");
    //设置折线图的背景
    lineChart.setBackgroundColor(Color.RED);

    
    //实例x轴
    XAxis xAxis = lineChart.getXAxis();
    //设置x轴的位置,默认在顶部
    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
    //设置x轴的标签个数
    xAxis.setLabelCount(entries.size());
    //设置x轴的粒度,
    xAxis.setGranularity(1.0f);
    //是否绘制x轴的网格线
    xAxis.setDrawGridLines(false);
    //格式x轴
    xAxis.setValueFormatter(new ValueFormatter() {
        @Override
        public String getFormattedValue(float value) {
            return super.getFormattedValue(value);
        }
    });
    //设置x轴位置的偏移
    xAxis.setXOffset(20.0f);
    //设置x轴的最大和最小值
    xAxis.setAxisMinimum(0);
    xAxis.setAxisMaximum(100);
    //设置x轴的标签文本属性,具体可参考上文
    xAxis.setTextColor();
    xAxis.setTextSize();

    
    //y轴分为左轴与右轴,两者的设置大同小异,这里以y左轴作为展示
    YAxis yAxis_right = lineChart.getAxisRight();
    //禁用y右轴
    yAxis_right.setEnabled(false);
    //y左轴实例
    YAxis yAxis_left = lineChart.getAxisLeft();
    //设置是否绘制网格线
    yAxis_left.setDrawGridLines(false);
    //这里的一些其他属性将不再重复列举,与x轴的设置大致相同
    yAxis_left.setGranularity(1.0f);
    yAxis_left.setAxisMinimum(0);
    //y轴独有的零线
    yAxis_left.setDrawZeroLine(true);
    //设置零线的颜色与宽度
    yAxis_left.setZeroLineColor();
    yAxis_left.setZeroLineWidth();

    
    //设置警戒线,一些颜色大小等属性将不再赘述,与上文相同
    LimitLine line = new LimitLine(16f, "警告警告");
    //添加警戒线
    yAxis_left.addLimitLine(line);

    //图例
    Legend legend = lineChart.getLegend();
    //设置图例在x y的偏移,不过设置起来似乎没有效果,不知道是属性问题还是笔者设置的问题
    legend.setXEntrySpace(50f);
    legend.setYEntrySpace(50f);
    //设置图例的方向
    legend.setOrientation(Legend.LegendOrientation.VERTICAL);
    //设置水平对其
    legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.RIGHT);
    //设置垂直对其
    legend.setVerticalAlignment(Legend.LegendVerticalAlignment.CENTER);
    //关闭图例
    legend.setEnabled(false);
    //其他的基本属性与上文相同,可自行测试

}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值