1.在项目的build.gridle里面的allprojects添加
maven { url “https://jitpack.io” }

llprojects {repositories {google()jcenter()maven { url "https://jitpack.io" }}
}

2.导入相关的依赖,在app目录的下build.gridle里面闭包中添加。

 implementation 'com.github.PhilJay:MPAndroidChart:v3.0.2'

3.activity_main.xml代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><com.github.mikephil.charting.charts.LineChartandroid:id="@+id/lc"android:layout_width="880dp"android:layout_marginLeft="100dp"android:layout_marginTop="100dp"android:background="#000"android:layout_height="500dp"/></LinearLayout>

4.MainActivity.java 代码

package com.example.a86156.zhexiantu;import android.graphics.Color;
import android.media.audiofx.AudioEffect;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.AxisBase;
import com.github.mikephil.charting.components.Description;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.XAxis;
import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.formatter.IAxisValueFormatter;
import com.github.mikephil.charting.formatter.IValueFormatter;
import com.github.mikephil.charting.utils.ViewPortHandler;import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {private LineChart lineChart; //折线图控件@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//隐藏系统默认标题ActionBar actionBar = getSupportActionBar();if (actionBar != null) {actionBar.hide();}//初始化控件lineChart = findViewById(R.id.lc);initLineChart();}/*** 初始化图表数据*/private void initLineChart(){lineChart.animateXY(2000, 2000); // 呈现动画Description description = new Description();description.setText(""); //自定义描述lineChart.setDescription(description);Legend legend = lineChart.getLegend();legend.setTextColor(Color.WHITE);setYAxis();setXAxis();setData();}/*** 设置Y轴数据*/private void setYAxis(){YAxis yAxisLeft = lineChart.getAxisLeft();// 左边Y轴yAxisLeft.setDrawAxisLine(true); // 绘制Y轴yAxisLeft.setDrawLabels(true); // 绘制标签yAxisLeft.setAxisMaxValue(100); // 设置Y轴最大值yAxisLeft.setAxisMinValue(0); // 设置Y轴最小值yAxisLeft.setGranularity(3f); // 设置间隔尺寸yAxisLeft.setTextColor(Color.WHITE); //设置颜色yAxisLeft.setValueFormatter(new IAxisValueFormatter() {@Overridepublic String getFormattedValue(float value, AxisBase axis) {return (int)value  + "℃";}});// 右侧Y轴lineChart.getAxisRight().setEnabled(false); // 不启用}/*** 设置X轴数据*/private void setXAxis(){// X轴XAxis xAxis = lineChart.getXAxis();xAxis.setDrawAxisLine(false); // 不绘制X轴xAxis.setDrawGridLines(false); // 不绘制网格线// 模拟X轴标签数据final String[] weekStrs = new String[]{"星期一", "星期二", "星期三", "星期四", "星期五", "星期六","星期日"};xAxis.setLabelCount(weekStrs.length); // 设置标签数量xAxis.setTextColor(Color.GREEN); // 文本颜色xAxis.setTextSize(15f); // 文本大小为18dpxAxis.setGranularity(1f); // 设置间隔尺寸// 使图表左右留出点空位xAxis.setAxisMinimum(-0.1f); // 设置X轴最小值//设置颜色xAxis.setTextColor(Color.WHITE);// 设置标签的显示格式xAxis.setValueFormatter(new IAxisValueFormatter() {@Overridepublic String getFormattedValue(float value, AxisBase axis) {return weekStrs[(int) value];}});xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); // 在底部显示}/*** 填充数据*/private void setData(){// 模拟数据1List<Entry> yVals1 = new ArrayList<>();float[] ys1 = new float[]{80f, 90f, 80f, 90f, 80f, 80f,100f};// 模拟数据2List<Entry> yVals2 = new ArrayList<>();float[] ys2 = new float[]{60f, 75f, 60f, 77f, 55f, 65f,75f};// 模拟数据3List<Entry> yVals3 = new ArrayList<>();float[] ys3= new float[]{28f, 45f, 32f, 48f, 40f, 55f,45f};for (int i = 0; i < ys1.length; i++) {yVals1.add(new Entry(i, ys1[i]));yVals2.add(new Entry(i, ys2[i]));yVals3.add(new Entry(i, ys3[i]));}// 2. 分别通过每一组Entry对象集合的数据创建折线数据集LineDataSet lineDataSet1 = new LineDataSet(yVals1, "最高温度");LineDataSet lineDataSet2 = new LineDataSet(yVals2, "平均温度");LineDataSet lineDataSet3 = new LineDataSet(yVals3, "最低温度");lineDataSet2.setCircleColor(Color.RED); //设置点圆的颜色lineDataSet3.setCircleColor(Color.GREEN);//设置点圆的颜色lineDataSet1.setCircleRadius(5); //设置点圆的半径lineDataSet2.setCircleRadius(5); //设置点圆的半径lineDataSet3.setCircleRadius(5); //设置点圆的半径lineDataSet1.setDrawCircleHole(false); // 不绘制圆洞,即为实心圆点lineDataSet2.setDrawCircleHole(false); // 不绘制圆洞,即为实心圆点lineDataSet3.setDrawCircleHole(false); // 不绘制圆洞,即为实心圆lineDataSet2.setColor(Color.RED); // 设置为红色lineDataSet3.setColor(Color.GREEN); // 设置为黑色// 值的字体大小为12dplineDataSet1.setValueTextSize(12f);lineDataSet2.setValueTextSize(12f);lineDataSet3.setValueTextSize(12f);//将每一组折线数据集添加到折线数据中LineData lineData = new LineData(lineDataSet1,lineDataSet2,lineDataSet3);//设置颜色lineData.setValueTextColor(Color.WHITE);//将折线数据设置给图表lineChart.setData(lineData);}}

Android studio 绘制折线图相关推荐

  1. android记账本折线图_Android自定义View - 仿支付宝月账单折线图

    前言 支付宝有个查看月账单的功能,最近一直在学习自定义View,于是就尝试着自己实现了一个类似的折线图. 下面是支付宝消费分析功能截图和自己实现的折线效果截图: 支付宝消费分析折线图.jpg 效果1. ...

  2. python matplotlib绘制折线图

    前言 众所周知,matplotlib 是一款功能强大开源的数据可视化模块,凭借着强大的扩展性构建出更高级别的绘图工具接口如seaborn.ggplot.我们来看看往期学习章节内容概述吧~ 接下来,我们 ...

  3. Tableau 绘制折线图

    手把手教你 Tableau 绘制折线图 折线图是将整个视图中的各个数据点连接起来,通常用于显示数据随着时间变化的趋势,或者预测未来的值. 绘制电影数量变化折线图 数据展示 操作步骤 1.对「上映时间」 ...

  4. python matplotlib画折线图_python使用matplotlib绘制折线图教程

    matplotlib简介 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序 ...

  5. python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  6. python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  7. python画曲线图例-python使用matplotlib绘制折线图教程

    matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...

  8. 如何使用python画折线图-python使用matplotlib绘制折线图教程

    matplotlib简介 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序 ...

  9. python如何绘制折线图-python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

最新文章

  1. 用c#建立webservice
  2. idea上传项目到码云_mall前端项目的安装与部署
  3. Operations Manager 2007 R2系列之单台性能视图
  4. ACM/ICPC 之 DP解有规律的最短路问题(POJ3377)
  5. 《WebGIS开发实践手册》2.2 ArcIMS服务器组件[1]
  6. exadata磁盘组无法mount恢复---惜分飞 1
  7. jison解析Cube信息 存入又读取出来
  8. APPCAN学习笔记006_创建第一个APPCAN应用
  9. 计算机能考四川司法学院吗,四川司法警官职业学院计算机文化基础课程在线考试系统...
  10. ffmpeg格式转换命令
  11. python进阶书籍 流畅的python
  12. Haar人脸检测:Haar特征 + Adaboost+ 级联分类器及改进
  13. Node.js 解压版 安装配置
  14. 大麦网抢票程序(二)之Selenium的使用
  15. RLC电阻电容电感基础知识——电阻篇
  16. VMware9 绿色破解版 下载地址
  17. 闲置商标转让怎样管理最好?
  18. C语言入门题库——求数列2/1+3/2+5/3......的和
  19. android实现第三方QQ登录
  20. albedo diffuse specular

热门文章

  1. 在Go中构建区块链 第4部分:交易1
  2. 智能楼宇可视化对讲及门禁对讲系统实训装置
  3. 2017年第111届中国日用百货商品交易会会刊(参展商名录)
  4. SQL中的ALL、ANY和SOME
  5. 安装Vue浏览器插件拢共分几步(保姆文章)
  6. STC51单片机学习笔记
  7. android Manifest.xml选项
  8. 联盛德 HLK-W801(三):在SDK粥中盛出UART
  9. 中国城市空气质量查询及可视化bs4+wxpython
  10. 音频接口线头、平衡与非平衡、单声道与立体声