android开源图表库MPAndroidChart(曲线图、直方图、饼状图)




http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0506/1614.html

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0506/1614.html

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0506/1614.html

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0506/1614.html




android开源图表库MPAndroidChart(曲线图、直方图、饼状图)

泡在网上的日子 发表于2014-09-04 11:20,   1504  次阅读  chart,android

摘要 一个可以拖动缩放的图表库,包含曲线图、直方图、饼状图,其中直方图支持3d效果。 该库的可扩展性强,切代码相对规范,如果不喜欢 AChartEngine 可以考虑在此库的基础上开发自己的图表类。 linechart BarChart2D BarChart3D PieChart 以piechart为例介绍使用

一个可以拖动缩放的图表库,包含曲线图、直方图、饼状图,其中直方图支持3d效果。

该库的可扩展性强,代码相对规范,最近一次更新有很大改进,如果不喜欢AChartEngine的过于复杂可以考虑在此库的基础上开发自己的图表类。


linechart

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第1张图片

填充式lineChart

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第2张图片

单条线的LineChart

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第3张图片

BarChart2D

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第4张图片

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第5张图片

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第6张图片



BarChart3D

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第7张图片

PieChart


android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第8张图片

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第9张图片



ScatterChart

android开源图表库MPAndroidChart(曲线图、直方图、饼状图)_第10张图片


以piechart为例介绍使用方法:

xml中 

1
2
3
4
<com.github.mikephil.charting.charts.PieChart
   android:id= "@+id/spread_pie_chart"
   android:layout_width= "match_parent"
   android:layout_height= "320dip" />

activity中 

初始化


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ColorTemplate mCt;
  mCt = new ColorTemplate();
  mCt.addDataSetColors(ColorTemplate.PASTEL_COLORS, this );
  mChart = (PieChart) headView.findViewById(R.id.spread_pie_chart);
  mChart.setColorTemplate(mCt);
  mChart.setDescription( "" );
  mChart.setHoleRadius(30f);
  mChart.setTransparentCircleRadius(0f);
  mChart.setCenterTextSize(18f);
  mChart.setDrawXValues( true );
  mChart.setUsePercentValues( true );
  mChart.setDrawLegend( false );
  // space between slices
  mChart.setSliceSpace(1f);
  mChart.setDrawHoleEnabled( false );
  mChart.setTouchEnabled( false );

数据

1
2
3
4
5
6
7
8
9
10
11
ArrayList<Entry> yVals = new ArrayList<Entry>();
ArrayList<String> xVals = new ArrayList<String>();
for (int i = 0; i < listDatas.size(); i++) {
     yVals.add( new Entry((float)listDatas.get(i).getProvinceCount(), i));
     xVals.add(listDatas.get(i).getProvinceName());
}
DataSet set1 = new DataSet(yVals, "Content" );
ArrayList<DataSet> dataSets = new ArrayList<DataSet>();
dataSets.add(set1);
ChartData data = new ChartData(xVals, dataSets);
mChart.setData(data);

其中listData为自己项目中的数据源。


项目地址:https://github.com/PhilJay/MPAndroidChart


上一篇: android颜色处理:得到已知颜色的深色或者浅色
android的颜色处理在2d绘图的时候有可能用到,刚好碰到需要根据已知颜色获得其相应深色或者浅色的情况,我知道的有两种方法。 第一种:将color转换成hsv颜色空间改变hsv的值,再转换成int类型的color值: 转换成深色: public int getDarkerColor(int color)
下一篇: RadioGroup实现类似ios的分段选择(UISegmentedControl)控件
在ios7中有一种扁平风格的控件叫做分段选择控件UISegmentedControl,控件分为为一排,横放着几个被简单线条隔开的按钮,每次点击只能选择其中一个按钮,他类似于tabbar但是又稍微有点区别,新版的qq手机客户端就用到了这种控件。 但是在android中并没有现成

你可能感兴趣的:(android开源图表库MPAndroidChart(曲线图、直方图、饼状图))