Android折线图
来源:互联网 发布:知乎 陈廖宇 编辑:程序博客网 时间:2024/06/16 10:33
这里使用的是hellochats框架里的折线图linechatView。使用框架有三种方法,最简单的是gradle导入依赖,还有导入jar包。但是这两种方法没有办法修改源码,但需要使用源码的时候,就得使用导入module的方式了。这里不做详细解答,自行百度。
用法比较简单。代码也容易理解,设置线同时设置点,在设置好两个坐标轴,加载就可以了。直接上代码。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.hello.MainActivity"> <lecho.lib.hellocharts.view.LineChartView android:id="@+id/line" android:layout_width="match_parent" android:layout_height="300dp" android:layout_marginTop="50dp" /></LinearLayout>
public class MainActivity extends AppCompatActivity { private LineChartView linechart; String[] xdata={"1号","2号","3号","4号","5号","6号","7号","8号"};//x轴数据 int[] data={10,12,13,10,11,14,9,15};//点数据 List<PointValue> pointValues=new ArrayList<PointValue>(); List<AxisValue> axisValues=new ArrayList<AxisValue>(); List<AxisValue> axisValues2=new ArrayList<AxisValue>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); linechart= (LineChartView) findViewById(line); initchart(); } public void initchart(){ //设置x轴显示 for(int i=0;i<xdata.length;i++){ axisValues.add(new AxisValue(i).setLabel(xdata[i])); } //设置点显示 for(int i=0;i<data.length;i++){ pointValues.add(new PointValue(i,data[i])); } for(int i=1;i<=20;i++){ axisValues2.add(new AxisValue(i).setValue(i)); } //线的设置 Line line=new Line(pointValues); List<Line> lines=new ArrayList<Line>(); line.setColor(Color.parseColor("#000000"));//黑色线 line.setShape(ValueShape.CIRCLE);//圆形点 line.setCubic(false);//折线 line.setFilled(false);//不填充曲线面积 line.setHasLabels(true);//线上数据坐标加上备注。 line.setHasLines(true);//显示曲线 line.setHasPoints(true);//显示点 line.setStrokeWidth(2);//设置线宽 line.setPointRadius(2);//设置点半径 lines.add(line); LineChartData linedata=new LineChartData(); linedata.setLines(lines);//加载线 //X轴 Axis axis=new Axis(); axis.setHasTiltedLabels(true);//字体斜的显示 axis.setTextColor(Color.BLUE); axis.setName("X轴名称"); axis.setMaxLabelChars(7);//x轴最多显示7个坐标 axis.setHasLines(true);//显示分割线 axis.setValues(axisValues);//加载X轴数据 linedata.setAxisXBottom(axis);//底部显示坐标轴 //Y轴 Axis axiy=new Axis(); axiy.setMaxLabelChars(5);//显示5个字符 axiy.setValues(axisValues2);//加载Y轴数据 linedata.setAxisYLeft(axiy);//linedata加载Y轴,左边显示 //整体设置 linechart.setZoomEnabled(false);//能缩放 //linechart.setZoomType(ZoomType.HORIZONTAL); linechart.setInteractive(true);//可以与用户互动 linechart.setContainerScrollEnabled(true, ContainerScrollType.HORIZONTAL);//可以水平平滑 linechart.setLineChartData(linedata);//加载linedata Viewport v=new Viewport(linechart.getMaximumViewport()); v.left=0; v.right=3;//让图表只显示第1-4个点 linechart.setCurrentViewport(v); }}
阅读全文
1 0
- android 自定义折线图
- android 自定义折线图
- Android 折线图
- android 绘制折线图
- android 自定义 折线图
- android 动态折线图
- android绘制折线图
- android 自定义折线图
- android绘制折线图
- android自定义折线图
- android折线趋势图
- android achartengine折线图
- Android自定义折线图
- android 自定义折线图
- android 自定义折线图
- android---自定义折线图
- android 折线图
- Android折线图、饼状图
- SDSC 2017 Day 5 T3
- 在Tp5中使用SPL数据结构SplDoublyLinkedList(双向链表)
- request.getcontextPath() 详解
- CentOS7.3下安装Cloudera Manager5.11.1
- 2017易观A10峰会唤醒“源力” 将用户数据有价值地利用起来!
- Android折线图
- 漫画算法:最小栈的实现
- 【算法入门竞赛经典】【7.2枚举排列】
- PHP项目中可能用到的函数(持续更新)
- django基础之study
- SPOJ DISUBSTR 后缀数组
- idea中Hibernate错误:无法解析表
- #define命令的一些高级用法
- PASCAL Visual Object Class --- PASCAL VOC数据集 (最后附deeplab数据集)