我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android MPAndroidChart --折线图

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android MPAndroidChart  --折线图

主要使用的三方为:MPAndroidChart

1.使用方法:引入依赖或者导入module

repositories {

maven { url "https://jitpack.io/" }

}

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

2.在布局中定义

android:id="@+id/lineChart"

android:layout_width="match_parent"

android:layout_height="400dp"

/>

3.折线图主要由六部分组成

  • 标题(Description)

  • 标记(marker)

  • 图例(Legend)

  • X轴(XAxis)

  • Y轴(YAxis)

  • 数据源(LineData)

4.最基础的使用方式

     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                WindowManager.LayoutParams.FLAG_FULLSCREEN);        setContentView(R.layout.activity_linechart);        lineChart = findViewById(R.id.lineChart);        // 背景颜色        lineChart.setBackgroundColor(Color.WHITE);        // 禁用描述文本        lineChart.getDescription().setEnabled(true);        // 启用触摸手势        lineChart.setTouchEnabled(true);        // 设置监听器        lineChart.setOnChartValueSelectedListener(this);        lineChart.setDrawGridBackground(false);        // 启用拖动        lineChart.setDragEnabled(true);        // 启用缩放        lineChart.setScaleEnabled(true);        // lineChart.setScaleXEnabled(true);        // lineChart.setScaleYEnabled(true);        // 沿两个轴缩放        lineChart.setPinchZoom(true);        // 动画        lineChart.animateXY(2000,2000);        setData();        setMarker();    }    //加载数据    public void setData(){        float datas[] = {14f,15f,16f,17f,16f,16f};        //在MPAndroidChart一般都是通过List对象来装数据的        List entries = new ArrayList();        //循环取出数据        for(int i = 0; i < datas.length; i++){            entries.add(new Entry(i,datas[i]));        }        //一个LineDataSet对象就是一条曲线        LineDataSet lineDataSet = new LineDataSet(entries,"第一条数据");        //LineData才是正真给LineChart的数据        LineData lineData = new LineData(lineDataSet);        lineChart.setData(lineData);    }
4.1标题(Description)设置

属性

注解

setEnabled()

是否启用,bool值

setText()

设置标题的文本

setTextSize()

设置文本大小

setTypeface()

设置文本样式,如:特殊字体等

setTextColor()

设置文本颜色

setXOffset()

设置X轴的偏移量,float值

setYOffset()

设置Y轴的偏移量,float值

setPosition()

设置标题X和Y轴的偏移量

lineChart.setDescription()

添加给LineChart

4.2图例(Legend)设置

属性

注解

setEnabled()

是否启用,bool值

setPosition(LegendPosition.BELOW_CHART_LEFT)

设置图例的位置在图表的 左下角

getLegend()

获取Legend对象

setFormSize()

设置图例文字大小

setTextColor()

设置文本颜色

setTypeface()

设置文本样式,如:特殊字体等

setFormSize()

设置图例的大小

setOrientation()

设置多个图例的排列方式

setForm()

设置图例的样式,如圆形、线形

setDrawInside()

是否将图例绘制在内部,bool值

setFormToTextSpace()

设置文本距离图例的距离,float值

setXOffset()

设置X轴的偏移量,float值

setYOffset()

设置Y轴的偏移量,float值

setVerticalAlignment()

设置图例在垂直方向上的排列方式,LegendVerticalAlignment枚举值

setHorizontalAlignment()

设置图例在水平方向上的排列方式,LegendHorizontalAlignment枚举值

setDirection

设置多个图例从什么方向开始绘制,如从左向右

4.3 X轴(XAxis)设置

属性

注解

setEnabled()

是否启用,bool值

setTextSize()

设置文本字体大小

setTypeface()

设置文本样式,如:特殊字体等

setTextColor()

设置字体颜色

setDrawGridLines()

是否绘制网格线(横向的线)

setGridLineWidth()

设置网格线的宽度

setGridColor()

设置网格线的颜色

setDrawAxisLine()

是否绘制靠近X轴的第一条线,设置xAxis.setDrawGridLines(false)才有效果

setAxisLineWidth()

设置靠近X轴的第一条线的宽度

setAxisLineWidth()

设置靠近X轴的第一条线的颜色

setPosition()

设置X轴的文本描述是否绘制在内侧

setDrawLabels()

是否绘制左侧的描述文字

setAxisMaximum()

设置X轴的最大值

setAxisMinimum()

设置X轴的最小值

setGranularity()

设置X轴每两个值之间的间隔

setGranularityEnabled()

是否启用间隔

setInverted()

设置是否倒序拍立

setValueFormatter()

数据展示:自定义格式,通过实现接口IAxisValueFormatter

setXOffset()

设置相对于X轴的偏移量(一般都会加点偏移量,以免第一个数据显示不全)

setYOffset()

设置相对于Y轴的偏移量

setCenterAxisLabels()

是否使文字在中间对齐

setLabelCount()

设置展示的个数,第二个参数如果设置为true表示将强制设置标签计数,这意味着指定的标签数将沿轴绘制并均匀分布-这可能会导致标签参差不齐

setPosition()

setPosition(XAxis.XAxisPosition.BOTTOM)

设置X所在的位置,可取值:TOP(默认值):位于上方,TOP_INSIDE:位于上方并绘制在图形内部,BOTTOM:位于下方,BOTTOM_INSIDE:位于下方并绘制在图形内部,BOTH_SIDED:上下两边都显示轴

setLabelRotationAngle()

设置旋转的角度,float值

用法:先把对象获取到,然后再去设置属性

XAxis xAxis = lc.getXAxis();xAxis.setTextSize(14f);//设置文本大小
4.4 Y轴(YAxis)设置

基本和X轴一致(没有setLabelRotationAngle() 旋转角度)

getAxisLeft()

获取左边的YAxis对象

getAxisRight()

获取右边的YAxis对象

4.5 数据源(LineData)设置

属性

注解

setColor()

设置线条颜色

setCircleColor()

一次性设置所有圆点的颜色

setLineWidth()

设置线条的宽度

setCircleRadius()

设置圆点的半径大小

setDrawCircleHole()

设置是否为空心圆

setCircleColorHole()

设置空心圆心的颜色,注意该属性只有在setDrawCircleHole为true的时候才有效果

setDrawCircles()

是否绘制圆点,若为false则表示只有折线

setFillColor()

设置在曲线下方填充的颜色(阴影的颜色)

setDrawFilled()

是否在线条下方设置填充,bool类型

setMode()

用于设置线条的类型,Mode枚举值,如Mode.CUBIC_BEZIER表示贝塞尔曲线

setAxisDependency()

设置线条是参照左边的y轴还是右边的y轴,在绘制组合图的时候用到,AxisDependency枚举值

4.6 标记(marker)设置
    //点击指示器可显示更多详情    public void setMarker(){        // create marker to display box when values are selected        MyMarkerView mv = new MyMarkerView(getContext(), R.layout.custom_marker_view);        // Set the marker to the chart        mv.setChartView(chart);        lineChart.setMarker(mv);    }
    

引用:1.CSDN博主「夕灬颜」的原创文章https://blog.csdn.net/qq_43332570/article/details/103180779

引用:2.MPAndroidChart的demo

Github地址:https://github.com/PhilJay/MPAndroidChart

来源地址:https://blog.csdn.net/qq_38524537/article/details/128955055

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android MPAndroidChart --折线图

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

详解Android图表 MPAndroidChart折线图

1.介绍 MPAndroidChart GitHub地址 MPAndroidChart的强大之处就不在多说了,目前最新的版本是3.0.1,在新版本中很多方法都被弃用了,这个要注意一下,在网上查到的大多数资料都是关于旧版本的,今天来实现一下
2022-06-06

Android怎么绘制双折线图

本篇内容主要讲解“Android怎么绘制双折线图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android怎么绘制双折线图”吧!自定义View实现双折线图,可点击,点击后带标签描述,暂未实现拖
2023-06-29

Android开发之天气趋势折线图

先来看下效果:控件内容比较简单,就是一个普通的折线图,上下分别带有数字,点击的时候显示当天温度的差值。 创建一个类继承自View,并添加两个构造方法:public class TrendGraph extends View {public
2022-06-06

怎么使用Android LineChart绘制折线图

这篇文章主要介绍“怎么使用Android LineChart绘制折线图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Android LineChart绘制折线图”文章能帮助大家解决问题。1.
2023-07-05

Android 使用MPAndroidChart:v3.1.0绘制动态折线图

工作需要绘制一张可动态添加的折线图,经过筛选,选择MPAndroidChart:v3.1.0。**使用方法:**1、添加build gradle在项目的build gradle中上述位置中添加“maven { url ‘https://ji
2022-06-06

怎么用Android的HelloChart绘制多折线图

本文小编为大家详细介绍“怎么用Android的HelloChart绘制多折线图”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Android的HelloChart绘制多折线图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来
2023-06-29

Android自定义View实现折线图效果

下面就是结果图(每种状态用一个表情图片表示):一、主页面的布局文件如下:
2022-06-06

Android LineChart绘制折线图的示例详解

这篇文章主要为大家想想介绍了Android RecyclerLineChart实现绘制折线图的相关资料,有需要的朋友可以借鉴参考下,希望能够有所帮助
2023-03-24

【Android Studio】第三方库 图表(MPAndroidChart)使用

1、添加依赖 项目目录->app->build.gradle dependencies {implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'} 项目目录->app->sett
2023-08-19

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录