HelloCharts(一、LineChart)
来源:互联网 发布:rar 解压缩 for mac 编辑:程序博客网 时间:2024/06/05 21:00
HelloCharts控件里的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:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".LineChartsActivity" > <lecho.lib.hellocharts.view.LineChartView android:id="@+id/chart" android:layout_width="match_parent" android:layout_height="match_parent" > </lecho.lib.hellocharts.view.LineChartView></RelativeLayout>代码
import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.graphics.Color;import android.graphics.Typeface;import android.os.Bundle;import android.widget.Toast;import lecho.lib.hellocharts.animation.ChartAnimationListener;import lecho.lib.hellocharts.listener.LineChartOnValueSelectListener;import lecho.lib.hellocharts.model.Axis;import lecho.lib.hellocharts.model.AxisValue;import lecho.lib.hellocharts.model.Line;import lecho.lib.hellocharts.model.LineChartData;import lecho.lib.hellocharts.model.PointValue;import lecho.lib.hellocharts.model.ValueShape;import lecho.lib.hellocharts.model.Viewport;import lecho.lib.hellocharts.view.LineChartView;public class LineDemo extends Activity {static int LineChartNums = 10;int numberOfLines = 1;int maxNumberOfLines = 4;boolean isCubic = false;LineChartView lineChart;private LineChartData chartData;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.linedemo);lineChart = (LineChartView) findViewById(R.id.linechart);lineChart.setInteractive(true);//是否可以缩放lineChart.setOnValueTouchListener(new LineChartOnValueSelectListener() {@Overridepublic void onValueDeselected() {}@Overridepublic void onValueSelected(int arg0, int arg1, PointValue arg2) {Toast.makeText(LineDemo.this, arg1+"", 0).show();//addLineToData();resetViewport();}});lineChart.setValueSelectionEnabled(true);//设置节点点击后动画toggleCubic();}/** * 添加数据 */public void AddLineChartDate(){List<Line> lines = new ArrayList<Line>();for (int i = 0; i < numberOfLines; i++) {List<PointValue> pointValues = new ArrayList<PointValue>();//节点数据结合Axis axisY = new Axis();//Y轴属性Axis axisX = new Axis();//X轴属性axisY.setName("Y轴");axisX.setName("X轴");ArrayList<AxisValue> axisValuesY = new ArrayList<AxisValue>();ArrayList<AxisValue> axisValuesX = new ArrayList<AxisValue>();for (int j = 0; j < LineChartNums; j++) {pointValues.add(new PointValue(j, j*10*(i+1)));//添加节点数据axisValuesY.add(new AxisValue(j*10*(i+1)).setLabel(j+""));//添加Y轴显示的刻度值axisValuesX.add(new AxisValue(j).setLabel(j+""));//添加X轴显示的刻度值}axisY.setValues(axisValuesY);axisX.setValues(axisValuesX);axisX.setLineColor(Color.BLACK);//无效果axisY.setLineColor(Color.BLUE);//无效果axisX.setTextColor(Color.BLACK);//设置X轴文字颜色axisY.setTextColor(Color.BLUE);//设置Y轴文字颜色axisX.setTextSize(20);//设置X轴文字大小axisX.setTypeface(Typeface.SERIF);//设置文字样式axisX.setHasTiltedLabels(true);//设置X轴文字向左旋转45度axisX.setHasLines(true);//是否显示X轴网格线axisY.setHasLines(true);axisX.setInside(true);//设置X轴文字在X轴内部Line line = new Line(pointValues);line.setColor(Color.GREEN);//设置折线颜色line.setStrokeWidth(5);//设置折线宽度line.setFilled(true);//设置折线覆盖区域颜色line.setCubic(isCubic);//节点之间的过渡line.setPointColor(Color.RED);//设置节点颜色line.setPointRadius(10);//设置节点半径line.setHasLabels(true);//是否显示节点数据line.setHasLines(true);//是否显示折线line.setHasPoints(true);//是否显示节点line.setShape(ValueShape.CIRCLE);//节点图形样式 DIAMOND菱形、SQUARE方形、CIRCLE圆形line.setHasLabelsOnlyForSelected(false);//隐藏数据,触摸可以显示lines.add(line);//将数据集合添加到线chartData = new LineChartData(lines);chartData.setAxisYLeft(axisY);//将Y轴属性设置到左边chartData.setAxisXBottom(axisX);//将X轴属性设置到底部chartData.setBaseValue(20);//设置反向覆盖区域颜色chartData.setValueLabelBackgroundAuto(false);//设置数据背景是否跟随节点颜色chartData.setValueLabelBackgroundColor(Color.BLUE);//设置数据背景颜色chartData.setValueLabelBackgroundEnabled(false);//设置是否有数据背景chartData.setValueLabelsTextColor(Color.RED);//设置数据文字颜色chartData.setValueLabelTextSize(15);//设置数据文字大小chartData.setValueLabelTypeface(Typeface.MONOSPACE);//设置数据文字样式}lineChart.setLineChartData(chartData);//将数据添加到控件中}private void resetViewport() { // Reset viewport height range to (0,100) final Viewport v = new Viewport(lineChart.getMaximumViewport()); v.bottom = 0; v.top = 100; v.left = 0; v.right = LineChartNums - 1; lineChart.setMaximumViewport(v); lineChart.setCurrentViewport(v); } private void toggleCubic() { isCubic = !isCubic; AddLineChartDate(); if (isCubic) { final Viewport v = new Viewport(lineChart.getMaximumViewport()); v.bottom = -5; v.top = 105; lineChart.setMaximumViewport(v); lineChart.setCurrentViewportWithAnimation(v); } else { // If not cubic restore viewport to (0,100) range. final Viewport v = new Viewport(lineChart.getMaximumViewport()); v.bottom = 0; v.top = 100; lineChart.setViewportAnimationListener(new ChartAnimationListener() { @Override public void onAnimationStarted() { // TODO Auto-generated method stub } @Override public void onAnimationFinished() { lineChart.setMaximumViewport(v); lineChart.setViewportAnimationListener(null); } }); lineChart.setCurrentViewportWithAnimation(v); } }}
http://www.voidcn.com/blog/u013255127/article/p-5046823.html
0 0
- HelloCharts(一、LineChart)
- HelloCharts(一、LineChart)
- hellocharts之linechart最详细介绍(写了好久)
- HelloCharts开源图表库(一)之折线图
- HelloCharts
- HelloCharts
- LineChart
- 基于MPAndroidChart的自定义LineChart(一)----节点绘制叉号+分段绘制背景
- hellocharts-android-Android图表开源库的使用(一)
- hellocharts-android-Android图表开源库的使用(一)
- ZedGraph给LineChart添加数值 (转帖)
- LineChart:折线图 详解 (PNChart)
- Linechart + Datagrid 互动展示数据 (Linechart自定义数据点选择线)
- hellocharts-android开源图表库(效果非常好)
- hellocharts-android开源图表库(效果非常好)
- hellocharts-android开源图表库(效果非常好)
- 利用Hellocharts绘制频谱瀑布图(雨图)
- hellocharts-android开源图表库(效果非常好)
- 高斯算法实现毛玻璃背景图片
- 算法--偏差,方差,标准差,协方差,相关系数及相关理解
- openfire+smack添加好友申请 Smack 4.1.8 and 4.2.0-beta2 添加好友请求以及确认
- 实现微信和QQ图片加载显示进度的效果-LoadingProgress
- GIT贡献统计
- HelloCharts(一、LineChart)
- Windbg使用
- 【Android】Broadcast广播机制总结
- 自定义简易实现 曲面效果
- Oracle概述
- css超出宽度显示省略号
- 【预研】关于互联网广告:半小时读懂互联网广告新生态
- 由有序序列折半查找构建判定树
- linux中有名管道的使用