最新版Android MPAndroidChart LineChart用法整理

1.添加依赖包

首先去网上查询当前依赖包的版本,链接如下

https://bintray.com/search?query=MPAndroidChart

改程序编写的时候版本如下

在这里插入图片描述
在这里插入图片描述

所以依赖里面添加的依赖包

implementation ‘com.mysugr.MPAndroidChart:MPAndroidChart:3.1.0-mysugr-1’

repositories {

​ google()

​ jcenter()

​ maven { url ‘https://www.jitpack.io’ }

}

2.添加布局xml

<com.github.mikephil.charting.charts.LineChart

​ android:layout_width=“fill_parent”

​ android:layout_height=“fill_parent”

​ android:id="@+id/lineChart" />

3.获取LineChart对象

linechart = (LineChart) findViewById(R.id.lineChart);

4.Linechart相关设置

linechart.getLegend().setEnabled(true);// 是否显示图例 默认为true

linechart.getDescription().setEnabled(true);// 是否显示描述

linechart.setDragEnabled(true);//启动平移图表

linechart.setDoubleTapToZoomEnabled(true);//双击缩放

linechart.setScaleEnabled(true);//启动缩放上的2个轴

linechart.setNoDataText(“暂无数据”);// 没有数据的时候默认显示的文字

linechart.setNoDataTextColor(Color.BLUE);//设置默认显示的文字颜色

linechart.setBorderColor(Color.BLUE);//设置坐标轴颜色

linechart.setBorderWidth(5);//设置坐标轴宽度

// linechart.setTouchEnabled(true);//设置是否可以触摸

//设置边距

linechart.setExtraRightOffset(25f);

linechart.setExtraBottomOffset(10f);

linechart.setExtraTopOffset(10f);

5.建立坐标轴

XAxis xAxis = linechart.getXAxis();//获取x轴

xAxis.setDrawAxisLine(true);//绘制X轴,默认为true

xAxis.setAxisLineWidth(5);

xAxis.setAxisLineColor(Color.BLUE);

xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);//设置x轴位置,有四个属性。

//禁用x轴,设置为false后该轴任何部分都不会绘制,所以即使再设置 xAxis.setDrawAxisLine(true);也不会被绘制

//xAxis.setEnabled(false);

xAxis.setDrawGridLines(true);//绘制网格线,默认为true xAxis.setGridColor(Color.WHITE);//设置该轴的网格线颜色。

​ // xAxis.setGridLineWidth(5f);// 设置该轴网格线的宽度。

​ xAxis.setDrawLabels(true);//绘制该轴标签

​ xAxis.setAxisMaximum(30);

​ xAxis.setAxisMinimum(0);

​ xAxis.setLabelCount(10);

​ xAxis.setTextColor(Color.RED);// 设置轴标签的颜色。

​ xAxis.setTextSize(11f);//设置轴标签的文字大小。

//xAxis.setTypeface(Typeface tf);// 设置轴标签的 Typeface。

​ yAxis = linechart.getAxisLeft();//获取左轴

​ // YAxis rightAxis = chart.getAxisRight();//获取右轴

​ linechart.getAxisRight().setEnabled(false);//隐藏右轴 默认显示

​ yAxis.setDrawAxisLine(true);//绘制X轴,默认为true

​ yAxis.setAxisLineWidth(5);

​ yAxis.setAxisLineColor(Color.BLUE);

​ yAxis.setTextColor(Color.RED);// 设置轴标签的颜色。

​ yAxis.setTextSize(11f);//设置轴标签的文字大小。

​ //设置Y轴最大最小值,不设置chart会自己计算

​ yAxis.setAxisMinimum(0);//设置最小值

​ yAxis.setAxisMaximum(70);//设置最大值

​ yAxis.setLabelCount(10);

​ yAxis.setDrawGridLines(true);//绘制网格线 默认为true

6.设置数据

LineDataSet dataSet= new LineDataSet(poitList, “压力曲线”);

dataSet.setAxisDependency(YAxis.AxisDependency.LEFT);

dataSet.setHighLightColor(Color.RED); // 设置点击某个点时,横竖两条线的颜色

dataSet.setDrawValues(false);//在点上显示数值 默认true

dataSet.setDrawCircles(false);//在点上画圆 默认true

dataSet.setValueTextColor(Color.WHITE);

dataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);// 设置为曲线显示,默认折线

// dataSet.setCubicIntensity(0.2f);//曲线弧度设计(区间0.05f-1f,默认0.2f)

dataSet.setValueTextSize(12f);//数值字体大小,同样可以设置字体颜色、自定义字体等

dataSet.setColor(Color.parseColor("#FC863E"));

dataSet.setLineWidth(2f);

LineData data = new LineData(dataSet);

linechart.setData(data);

7.设置图例及其颜色

setEnabled(boolean enabled) : 设置Legend启用或禁用。 如果禁用, Legend 将不会被绘制。

  • setTextColor(int color) : 设置图例标签的颜色。
  • setTextSize(float size) : 设置在DP传说标签的文字大小。

setPosition(LegendPosition pos) : 通过 LegendPosition 设置 Legend 出现的位置。

  • RIGHT_OF_CHART
  • RIGHT_OF_CHART_CENTER
  • RIGHT_OF_CHART_INSIDE
  • BELOW_CHART_LEFT
  • BELOW_CHART_RIGHT
  • BELOW_CHART_CENTER

8.传入数据

float[] ys1 = new float[]{12.699f,12.524f,12.267f, 12.014f,11.838f,11.71f,11.607f,11.534f,11.488f,11.473f,11.477f,11.493f,11.525f};

for (int i = 0; i < ys1.length; i++) {

​ poitList.add(new Entry(i/10, ys1[i]));

if(ys1[i]>yheight) {//纵坐标自适应

​ yheight= (int)ys1[i]+10;

​ yAxis.setAxisMaximum(yheight);//设置最大值

}

ength; i++) {

​ poitList.add(new Entry(i/10, ys1[i]));

if(ys1[i]>yheight) {//纵坐标自适应

​ yheight= (int)ys1[i]+10;

​ yAxis.setAxisMaximum(yheight);//设置最大值

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值