首页 > 系统 > Android > 正文

Android 统计框架hellocharts

2019-11-08 01:33:35
字体:
来源:转载
供稿:网友

首先你要在build.gradle中加入applicationId “com.example.hellocharts”,然后让它自动加载。 那就写一个简单的统计,但是因为特殊原因,实例图片展示不了,你们就看看吧。

<lecho.lib.hellocharts.view.ColumnChartView android:id="@+id/chart" android:layout_width="match_parent" android:layout_height="350dp" android:padding="20dp"/>

实现功能:

public class MainActivity extends AppCompatActivity { PRivate ColumnChartView chart; private ColumnChartData data; public final static String[] week = new String[]{"周一", "周二", "周三", "周四", "周五", "周六", "周日"}; private List<Float> list = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } private void initView() { chart= (ColumnChartView) findViewById(R.id.chart); chart.setZoomEnabled(false);//禁止手势缩放 } private void initData() { //list.add();//把你获取到的或用到的数据填充到集合中 setFirstChart(); } private void setFirstChart() { // 使用的 7列,每列1个subcolumn。 int numSubcolumns = 1; int numColumns = 7; //定义一个圆柱对象集合 List<Column> columns = new ArrayList<Column>(); //子列数据集合 List<SubcolumnValue> values; List<AxisValue> axisValues = new ArrayList<AxisValue>(); //遍历列数numColumns for (int i = 0; i < numColumns; ++i) { values = new ArrayList<SubcolumnValue>(); //遍历每一列的每一个子列 for (int j = 0; j < numSubcolumns; ++j) { //为每一柱图添加颜色和数值 float f = list.get(i); values.add(new SubcolumnValue(f, ChartUtils.pickColor())); } //创建Column对象 Column column = new Column(values); //这一步是能让圆柱标注数据显示带小数的重要一步 让我找了好久问题 //作者回答https://github.com/lecho/hellocharts-android/issues/185 ColumnChartValueFormatter chartValueFormatter = new SimpleColumnChartValueFormatter(2); column.setFormatter(chartValueFormatter); //是否有数据标注 column.setHasLabels(true); //是否是点击圆柱才显示数据标注 column.setHasLabelsOnlyForSelected(false); columns.add(column); //给x轴坐标设置描述 axisValues.add(new AxisValue(i).setLabel(week[i])); } //创建一个带有之前圆柱对象column集合的ColumnChartData data= new ColumnChartData(columns); //定义x轴y轴相应参数 Axis axisX = new Axis(); Axis axisY = new Axis().setHasLines(true); axisY.setName("签到率(%)");//轴名称 axisY.hasLines();//是否显示网格线 axisY.setTextColor(R.color.colorAccent);//颜色 axisX.hasLines(); axisX.setTextColor(R.color.colorPrimary); axisX.setValues(axisValues); //把X轴Y轴数据设置到ColumnChartData 对象中 data.setAxisXBottom(axisX); data.setAxisYLeft(axisY); //给表填充数据,显示出来 chart.setColumnChartData(data); }

初次了解这种框架,还不熟悉,请大家见谅,给大家分享一个网址 [http://www.github.com]希望对大家有帮助。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表