<Android 应用 之路> MPAndroidChart~LineChart
来源:互联网 发布:淘宝联盟怎么分享图片 编辑:程序博客网 时间:2024/06/05 20:47
简介
MPAndroidChart是PhilJay大神给Android开发者带来的福利。MPAndroidChart是一个功能强大并且使用灵活的图表开源库,支持Android和IOS两种,这里我们暂时只关注Android版本。
Wiki
https://github.com/PhilJay/MPAndroidChart/wiki
Javadoc
https://jitpack.io/com/github/PhilJay/MPAndroidChart/v3.0.0-beta1/javadoc/
今日之图~LineChart
先看下效果压压惊,右边的图为左边的图横向拉伸后的效果
布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.mpandroidchartdemo.MainActivity" > <com.github.mikephil.charting.charts.LineChart android:id="@+id/chart" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
对于Chart,可以采用布局文件添加方式,也可以采用代码添加方式。
代码
requestWindowFeature(Window.FEATURE_NO_TITLE);//no title,去掉actionbarsetContentView(R.layout.activity_main);//设置主视图chart = (LineChart) findViewById(R.id.chart);xVals = new ArrayList<>();yVals = new ArrayList<>();random = new Random();//产生随机数字for(int i = 0 ; i<12; i++) { float x = random.nextInt(10000);//获取value值 yVals.add(new Entry(x, i));//创建Entry并且添加到Y值的list中,Y轴的值,一个entry代表一个显示的值 xVals.add( (i+1) + "月");//横坐标显示xxx月}dataSet = new LineDataSet(yVals, "金额");//创建数据集并设置标签dataSet.setColors(ColorTemplate.COLORFUL_COLORS);//设置数据集显示的颜色,预支颜色模版ColorTemplate,也可以设置单一颜色和colorsdataSet.setHighlightEnabled(true);//设置高亮dataSet.setValueTextColor(Color.BLUE);//设置Value值的显示文字颜色,字体大小和字体种类,这里我没有添加对应字体可以自己修改dataSet.setValueTextSize(10.0f);dataSet.setValueTypeface(null);data = new LineData(xVals, dataSet);//创建LineData,x轴List和Y轴数据集为参数chart.setData(data);//给图表添加数据chart.setDescription("收支状态");//设置图表描述的内容位置,字体等等chart.setDescriptionColor(Color.YELLOW);chart.setDescriptionTextSize(15f);chart.setDescriptionPosition(540, 40);chart.getXAxis().setPosition(XAxisPosition.BOTTOM);//设置X轴的显示位置,通过XAxisPosition枚举类型来设置chart.getXAxis().setAxisMinValue(0.0f);//设置X轴的最小值chart.getAxisRight().setEnabled(false);//关闭右边的Y轴,因为默认有两条,左边一条,右边一条,MPAndroidChart中有setEnabled方法的元素基本上都是使能的作用chart.animateY(3000);//动画效果,MPAndroidChart中还有很多动画效果可以挖掘//当值被选中的时候,执行操作显示一个Toastchart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() { @Override public void onValueSelected(Entry e, int dataSetIndex, Highlight h) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, String.valueOf(e.getVal()), Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected() { // TODO Auto-generated method stub } });
备注
中午抽空看下MPAndroidChart并记录下简单的入门,刚开始,有兴趣的可以直接去GitHub上看下Wiki,当然也有人翻译了这篇英文Wiki,直接搜索MPAndroidChart应该就都可以看到了。至于使用方式,大家应该都很清楚,引用jar包或者下载源码编译吧,我是懒人,前者可选。
世界牛人太多,跟不上脚步了。
3 0
- <Android 应用 之路> MPAndroidChart~LineChart
- MPAndroidChart之LineChart
- MPAndroidChart 之LineChart(1)
- MPAndroidChart之LineChart使用
- MPAndroidChart之LineChart
- MPAndroidChart之LineChart双线绘制
- MPAndroidChart之LineChart曲线型
- MPAndroidChart之LineChart(2)MarkerView
- MPAndroidChart之LineChart源码分析
- <Android 应用 之路> MPAndroidChart~BarChart
- <Android 应用 之路> MPAndroidChart~PieChart
- <Android 应用 之路> MPAndroidChart~ScatterChart
- MPAndroidChart--LineChart
- MPAndroidChart之lineChart中的诡异属性
- MPAndroidChart之LineChart项目使用心得
- MPAndroidChart学习笔记----LineChart
- MPAndroidChart的LineChart的使用
- <Android 应用 之路> MPAndroidChart~BubbleChart(气泡图) and RadarChart(雷达图)
- 文件处理工具系列(二):行编辑器sed
- Pashmak and Garden
- poj 3667 Hotel 线段树区间合并
- 如何线程安全的使用HashMap
- 题目1——数房子
- <Android 应用 之路> MPAndroidChart~LineChart
- vim编辑器进阶
- C安全编程知识点
- java 如何保留数据后两位小数
- web的三种服务器
- poj 1915(bfs广搜基本题)
- spell拼音码的写法及语句
- .net实现webservice简单实例分享
- strom的TimeCacheMap和RotatingMap比较和升级