Android studio 绘制折线图
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 绘制折线图相关推荐
- android记账本折线图_Android自定义View - 仿支付宝月账单折线图
前言 支付宝有个查看月账单的功能,最近一直在学习自定义View,于是就尝试着自己实现了一个类似的折线图. 下面是支付宝消费分析功能截图和自己实现的折线效果截图: 支付宝消费分析折线图.jpg 效果1. ...
- python matplotlib绘制折线图
前言 众所周知,matplotlib 是一款功能强大开源的数据可视化模块,凭借着强大的扩展性构建出更高级别的绘图工具接口如seaborn.ggplot.我们来看看往期学习章节内容概述吧~ 接下来,我们 ...
- Tableau 绘制折线图
手把手教你 Tableau 绘制折线图 折线图是将整个视图中的各个数据点连接起来,通常用于显示数据随着时间变化的趋势,或者预测未来的值. 绘制电影数量变化折线图 数据展示 操作步骤 1.对「上映时间」 ...
- python matplotlib画折线图_python使用matplotlib绘制折线图教程
matplotlib简介 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序 ...
- python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...
本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...
- python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)
本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...
- python画曲线图例-python使用matplotlib绘制折线图教程
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...
- 如何使用python画折线图-python使用matplotlib绘制折线图教程
matplotlib简介 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序 ...
- python如何绘制折线图-python如何画折线图
python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...
最新文章
- 用c#建立webservice
- idea上传项目到码云_mall前端项目的安装与部署
- Operations Manager 2007 R2系列之单台性能视图
- ACM/ICPC 之 DP解有规律的最短路问题(POJ3377)
- 《WebGIS开发实践手册》2.2 ArcIMS服务器组件[1]
- exadata磁盘组无法mount恢复---惜分飞 1
- jison解析Cube信息 存入又读取出来
- APPCAN学习笔记006_创建第一个APPCAN应用
- 计算机能考四川司法学院吗,四川司法警官职业学院计算机文化基础课程在线考试系统...
- ffmpeg格式转换命令
- python进阶书籍 流畅的python
- Haar人脸检测:Haar特征 + Adaboost+ 级联分类器及改进
- Node.js 解压版 安装配置
- 大麦网抢票程序(二)之Selenium的使用
- RLC电阻电容电感基础知识——电阻篇
- VMware9 绿色破解版 下载地址
- 闲置商标转让怎样管理最好?
- C语言入门题库——求数列2/1+3/2+5/3......的和
- android实现第三方QQ登录
- albedo diffuse specular