MPAndroidChart开源图表库之折线图

参考:http://blog.csdn.net/shineflowers/article/details/44704723

1.在布局文件中加入组件

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

android:id="@+id/char1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="10dp"

android:layout_weight="1.0"

/>

2.设置图表的属性

chart1 = (LineChart) findViewById(R.id.char1);

lineChart.setDrawBorders(false);  //是否在折线图上添加边框

lineChart.setDescription("");// 数据描述

lineChart.setDescriptionTypeface(mTf);//字体

// 如果没有数据的时候,会显示这个,类似listview的emtpyview

//      lineChart.setNoDataTextDescription("You need to provide data for the chart.");

lineChart.setDrawGridBackground(false); // 是否显示表格颜色

//        lineChart.setGridBackgroundColor(Color.WHITE & 0x70FFFFFF); // 表格的的颜色,在这里是是给颜色设置一个透明度

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

// enable scaling and dragging

lineChart.setDragEnabled(true);// 是否可以拖拽

lineChart.setScaleEnabled(true);// 是否可以缩放

lineChart.setPinchZoom(false);

lineChart.setBackgroundColor(Color.WHITE);// 设置背景

//设置最大值和最小值的标注线

LimitLine ll1 = new LimitLine(100f, "最大值");

ll1.setLineWidth(4f);

//        ll1.enableDashedLine(10f, 10f, 0f);//设置为虚线。

ll1.setLabelPosition(LimitLabelPosition.POS_LEFT);

ll1.setTextSize(10f);

LimitLine ll2 = new LimitLine(10f, "最小值");

ll2.setLineWidth(4f);

//        ll2.enableDashedLine(10f, 10f, 0f);

ll2.setLabelPosition(LimitLabelPosition.POS_LEFT);

ll2.setTextSize(10f);

//X轴样式。

XAxis xAxis = lineChart.getXAxis();

xAxis.setPosition(XAxisPosition.BOTTOM);

xAxis.setTypeface(mTf);

xAxis.setDrawGridLines(false);

xAxis.setDrawAxisLine(true);

//Y轴样式。

YAxis leftAxis = lineChart.getAxisLeft();

leftAxis.setTypeface(mTf);

leftAxis.setLabelCount(10);

leftAxis.addLimitLine(ll1);

leftAxis.addLimitLine(ll2);

//设置图例样式。

Legend mLegend = lineChart.getLegend(); // 设置比例图标示,就是那个一组y的value的

mLegend.setForm(LegendForm.CIRCLE);// 样式

mLegend.setFormSize(6f);// 字体

mLegend.setTextColor(Color.BLACK);// 颜色

mLegend.setTypeface(mTf);// 字体

//图表动画。

lineChart.animateX(2000); // 立即执行的动画,x轴

lineChart.animateY(1000); // 立即执行的动画,y轴

3.生成图表的数据

// x轴显示的数据,这里默认使用数字下标显示

ArrayList<String> xValues = new ArrayList<String>();

for (int i = 0; i < count; i++) {

xValues.add("" + i);

}

// y轴的数据

ArrayList<Entry> yValues = new ArrayList<Entry>();

for (int i = 0; i < count; i++) {

float value = (float) (Math.random() * range) + 3;

yValues.add(new Entry(value, i));

}

// create a dataset and give it a type

// y轴的数据集合

LineDataSet lineDataSet = new LineDataSet(yValues, "测试折线图" /*显示在比例图上*/);

// mLineDataSet.setFillAlpha(110);

// mLineDataSet.setFillColor(Color.RED);

//用y轴的集合来设置数据线和数据点的样式

lineDataSet.setLineWidth(1.75f); // 线宽

lineDataSet.setCircleSize(4.5f);// 显示的圆形大小

lineDataSet.setColor(color);// 线的颜色

lineDataSet.setCircleColor(color);// 圆形的颜色

lineDataSet.setHighLightColor(Color.rgb(244, 117, 117)); // 高亮的线的颜色

// create a data object with the datasets

LineData lineData = new LineData(xValues, lineDataSet);//生成数据

============================================================

//将数据集合加入到ArrayList中。生成的LineData可以在一个图表上生成多条数据线。

ArrayList<LineDataSet> lineDataSets = new ArrayList<LineDataSet>();

lineDataSets.add(lineDataSet); //添加DataSet

LineData lineData = new LineData(xValues, lineDataSets);  //使用ArrayList设置生成数据。

==============================================================

4.将数据绑定到图表。

lineChart.setData(lineData); // 设置数据

参考:http://blog.csdn.net/shineflowers/article/details/44704723

时间: 2024-10-16 16:58:49

MPAndroidChart开源图表库之折线图的相关文章

MPAndroidChart开源图表库(一)之饼状图

MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活.MPAndroidChart同样拥有常用的图表类型:线型图.饼图.柱状图和散点图. GitHub地址: https://github.com/PhilJay/MPAndroidChart 下面主要实现以下饼状图: 1.从上面的地址中下载最新mpandroidchartlibrary-2-0-8.jar包,

MPAndroidChart开源图表库---折线图

项目地址:点击打开,原文参考地址:点击打开 1. 将mpandroidchartlibrary-2-0-8.jar包copy到项目的libs中 2. 定义xml文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=

MPAndroidChart开源图表库(二)之折线图

承接上一篇文章,请参考 http://blog.csdn.net/shineflowers/article/details/44701645 1. 将mpandroidchartlibrary-2-0-8.jar包copy到项目的libs中 2. 定义xml文件 3.  主要Java逻辑代码如下,注释已经都添加上了. <span style="font-family:SimSun;font-size:14px;">package com.example.mpandroidl

MPAndroidChart开源图表库(三)之柱形图

承接上一篇文章,请参考 http://blog.csdn.net/shineflowers/article/details/44704723 1. 将mpandroidchartlibrary-2-0-8.jar包copy到项目的libs中 2. 定义xml文件 3.  主要Java逻辑代码如下,注释已经都添加上了. package com.jackie.mpandoidbarchart; import java.util.ArrayList; import com.github.mikephi

HelloCharts开源图表库(一)之折线图

之前我们介绍了开源图表库MPAndriodChart,请参考http://blog.csdn.net/shineflowers/article/details/44704723. 我们今天介绍的将是一个更为优秀的图表库,比MPAndroidChart性能更好,功能更完善,UI风格更美观,坐标轴更精细. 支持缩放.滑动以及平移.Zoom(pinch to zoom, double tap zoom), scroll and fling 支持自定义坐标轴(比如坐标轴位置:上下左右内部),支持自动生成

android开源图表库MPAndroidChart文档翻译(中)

在 android开源图表库MPAndroidChart文档翻译(上) 中,介绍了mpandroidchart的创建,回调方法,还有轴.这篇文章继续翻译剩余内容.文档内容比较多,这是中篇.最后的内容在下篇做翻译. 六.设置数据 要给图表设置数据,调用的方法为 public void setData(ChartData data) { ... } ChartData是渲染过程中所需图表所有数据和信息的基类.对于每种图表,有不同的子类用来设置特定图表的数据.例如LineData.可以用ArrayLi

android开源图表库MPAndroidChart文档翻译(上)

MPAndroidChart 是 Android 系统上一款开源的图表库.目前提供线图和饼图,支持选择.缩放和拖放. android开源图表库MPAndroidChar的githu地址: https://github.com/PhilJay/MPAndroidChart 文档地址:https://github.com/PhilJay/MPAndroidChart/wiki API地址:https://jitpack.io/com/github/PhilJay/MPAndroidChart/v2.

android开源图表库MPAndroidChart文档翻译(下)

在 android开源图表库MPAndroidChart文档翻译(中) 介绍了设置数据,设置颜色,轴的格式化,图例,动态修改数据.这篇文章继续翻译MPAndroidChart文档剩余内容. 十七.ChartData 类 这个WIKI条目的意图是更好的介绍MPAndroidChart的数据模型. ChartData类是所有图表数据类的基类,例如LineData,BarData等等,通过图表的setData方法提供表格数据. public class LineData extends ChartDa

Android开源图表库XCL-Charts版本号公布及展示页

XCL-Charts V2.1 Android开源图表库(XCL-Charts is a free charting library for Android platform.) XCL-Charts基于原生的Canvas来绘制各种图表,在设计时,尽量在保证开发效率的同一时候,给使用者提供足够多的定制化能力. 因此使用简便,同一时候具有相当灵活的定制能力. 眼下支持(3D/非3D,背向式)柱形图(Bar Chart).3D/非3D饼图(Pie Chart).堆叠图(Stacked Bar Cha