首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MPAndroidChart -LineChart :如何使最后一个绘制点位于宽度的中心

MPAndroidChart是一个开源的Android图表库,用于在Android应用程序中绘制各种类型的图表。LineChart是MPAndroidChart库中的一种图表类型,用于绘制折线图。

要使最后一个绘制点位于宽度的中心,可以通过以下步骤实现:

  1. 获取LineChart对象:
  2. 获取LineChart对象:
  3. 获取LineData对象:
  4. 获取LineData对象:
  5. 获取LineDataSet对象:
  6. 获取LineDataSet对象:
  7. 获取LineEntry对象列表:
  8. 获取LineEntry对象列表:
  9. 获取最后一个LineEntry对象:
  10. 获取最后一个LineEntry对象:
  11. 计算最后一个LineEntry对象的X轴偏移量:
  12. 计算最后一个LineEntry对象的X轴偏移量:
  13. 将所有LineEntry对象的X轴偏移量设置为计算得到的偏移量:
  14. 将所有LineEntry对象的X轴偏移量设置为计算得到的偏移量:
  15. 更新LineData对象并重新绘制图表:
  16. 更新LineData对象并重新绘制图表:

这样,最后一个绘制点就会位于宽度的中心。

MPAndroidChart官方文档:https://github.com/PhilJay/MPAndroidChart

腾讯云相关产品:腾讯云移动分析(MTA)是一款提供移动应用数据分析服务的产品,可以帮助开发者深入了解用户行为、应用性能和用户反馈,从而优化应用体验和运营策略。产品介绍链接地址:https://cloud.tencent.com/product/mta

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MPAndroidChart 之实现底部显示的自定义MarkerView

linechart2.png 需求如下:显示一个平滑的曲线,并且点击的时候要显示底部的一个小标标,选中的值还要改变选中的圆球颜色,并且蛋疼的还要第一次数据加载好就要显示出来,每次点击根据圆球位置显示marker...接着就跟着 OnChartValueSelectedListener的回调方法找到了 ? linechart7.png ? linechart8.png 最后找到了下面两个方法,踏实了 ?...linechart9.png 最后 ? linechart10.png 是不是完全踏实下来了,通过触摸拿到一个点,将点的x,y给他生成一个高亮的点。...于是想了一下,我点击折线图空白处的时候也是能够判断我点的最近的高亮点的,来显示高亮线(当然具体里面怎么实现判断的,我不深究了,已经够条件实现我要的需求了),我要显示最后一个数据点,也就是当天数据,那我把折线图...附上一些不错的借鉴文章:他的实现方式相对较优雅赶脚。。。 MPAndroidChart之LineChart(2)MarkerView ? linechart12.gif

3.9K10
  • android详解_MPAndroidChart

    在开发当中曲线图用的时候太多了,之前都是自己手写,之后发现太累还丑不符合需求 MPAndroidChart 先介绍LineChart 0.效果图 首先依赖 1. implementation ‘com.github.PhilJay...:MPAndroidChart:v3.0.3’ 2.xml布局 LineChart android:id="@+id/multi_line_Gl_chart...大概就是这样 //左图具有描述设置,默认有描述,我这里是之前有这个需求现在没啦 最后的最后我这个是双曲线,至于单曲线或者多个曲线,增加删除就可以 Description description..., R.color.text_color));//设置数据的文本颜色,如果不绘制线的数据 这句代码也不用设置了 lineDataSet2.setValueTextSize(15f);//如果不绘制线的数据..., R.color.text_color));//设置数据的文本颜色,如果不绘制线的数据 这句代码也不用设置了 lineDataSet3.setValueTextSize(15f);//如果不绘制线的数据

    1.3K10

    Android——MPAndroidChart折线图柱状图饼形图的使用

    https://github.com/PhilJay/MPAndroidChart 【使用方法】 这里会介绍如何初始化、如何自定义XY坐标轴、如何点击折线图中的数据显示数据标签、如何设置数据。...一、折现图的初始化       入参为折线图的对象和自定义的XY坐标轴数据,初始化的相关属性注释中都已给出,这里主要单独说明下如何自定义XY坐标轴、如何点击折线图中的数据显示数据标签。...xAxis.setDrawGridLines(false);//设置x轴上每个点对应的线 xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值...);//图表将避免第一个和最后一个标签条目被减掉在图表或屏幕的边缘 // xAxis.setAxisLineColor(Color.WHITE);//设置x轴线颜色 // xAxis.setAxisLineWidth...代码如下,其中有一个设置X轴数据显示方向的比较有用,可以避免数据多时重叠不美观,单独提一下: //设置X轴坐标斜着显示,避免X轴点较多时重合             chart.getXAxis().

    3.5K30

    MPAndroidChart_水平条形图的那些事

    MPAndroidChart_折线图的那些事 MPAndroidChart_饼图的那些事 MPAndroidChart_动态柱状图 MPAndroidChart_水平条形图的那些事 MPAndroidChart..._并列柱状图,及如何实现点击隐藏掉不需要的条目。...set.setColors(Color.RED,Color.BLACK,Color.BLUE); BarData data = new BarData(set); //设置轴的宽度...但是并不一定准确 setAxisMaximum 它与x的大小有关,MPandroidchart 在 将数据添加到图表中时,因为x不固定大小,所以在每次绘制时,会以最大的x值和标签的个数来规定标签的显示...但是在水平图里面,这样是千万不行的。 原因是因为,水平图表 需要你的两条y轴确定一个点来定位,但是我们一般只对一个轴进行设置,所以就会产生数据点不显示的情况。

    1.9K20

    MPAndroidChart_RadarChart雷达图的那些事

    MPAndroidChart_折线图的那些事 MPAndroidChart_饼图的那些事 MPAndroidChart_动态柱状图 MPAndroidChart_水平条形图的那些事 MPAndroidChart..._并列柱状图,及如何实现点击隐藏掉不需要的条目。...其实也就是更改一个方法,别觉得有什么太困难。 我们先看一下为什么我们需要重写源码。 RadarChart源码里并没有提供多颜色标签的方法。点进去setTextColor(),我们可以发现。...一点发现,好多方法,我们只看我们需要的,比如现在我们要定义的是x轴标签,也就是最外围的标签,所以选择XAxisRendererRadarChart, 进去之后,发现在这里获取了颜色的值,接着往下看 这个方法就是进行我们标签绘制的地方...最后,附上github的链接。相应的源码也在其中。 https://github.com/Petterpx/MPAndroidChart_RadarChartDemo

    2K31

    Canvas 绘制折线图 - 使用prototype属性构建对象

    需求 前面的几篇文章介绍了如何绘制网格图、坐标系、坐标系中的点,那么本篇章将这些步骤方法,以js原型面向对象的方式开发,编写出一个折线图的示例。...如果需要构建一个绘画折线图的对象,基于前面几篇绘制网格图、坐标系、坐标系中的点,可以将其中的基本参数、基本方法都设置到这个绘画折线图的对象中。...定义内容如下: 构建一个绘制折线图的对象 LineChart LineChart对象首先要有绘制网格图、坐标系、坐标系中的点相关的基本参数,罗列如下: 2.1 画笔工具 var ctx = myCanvas.getContext...构建一个绘制折线图的对象 LineChart 2....从第二个点开始与上一个点连成一条线,所以需要记录上一个点的坐标 */ // 记录上一个点坐标 var prev_point_x

    1.2K10

    可视化大屏的几种屏幕适配方案,总有一种是你需要的

    假设我们正在开发一个可视化拖拽的搭建平台,可以拖拽生成工作台或可视化大屏,或者直接就是开发一个大屏,首先必须要考虑的一个问题就是页面如何适应屏幕,因为我们在搭建或开发时一般都会基于一个固定的宽高,但是实际的屏幕可能大小不一...newWidth / width = ratioWidth = windowWidth / originCanvasWidth newWidth = width * ratioWidth // left同样看做是一个距左侧的宽度即可...实现也很简单,在上一个【自适应宽度】的基础上加上高度自适应即可。...,这其实是因为默认情况下元素的变换都是以自身的中心点为原点进行变换的: 我们只要改成以左上角为原点即可: const canvasStyle = reactive({ transform: "",...value.style.height = `${height}px`; el2.value.style.left = left; el2.value.style.top = top; 可以看到获取到的宽高比实际的小了一点

    3.2K41

    Android 中心区域选中图表 WheelChart

    产品要做一个支持横向滚动、中心区域选中、惯性滚动、停止时回滚到中心位置、点击选中、处理嵌套滚动的图表需求 效果图如下: ?...最开始的想法时用MPAndroidChart来做,可用这个库有些细节满足不了产品的需求 如选中的label标签要用选中颜色及回滚功能,然后就很没底,找了很多类似功能的自定义控件的类比,做之前也咨询了一位大佬...绘制图表其实主要时数学问题,具体坐标的计算就不再赘述了 请教扔物线的时候,我问他会不会有性能问题,他就说了一点,屏幕外不要绘制 我们就只需绘制屏幕上用户看到的内容即可...但由于如果只绘制屏幕显示区域的话,左右两侧的点需要计算path连接而且在滚动时文字的显示会有突然显示或隐藏的问题,所以把绘制区域加长,左右两侧均多绘制一个label的距离 绘制区域为绿色加红色 ?...我们根据x轴方向当前已滚动的距离getScrollX()计算第一个显示的label下标,再加上控件宽度和一个label距离(右侧多绘制的一个label的距离)计算出最后一个label的下标,只需要绘制两个下标中间即可

    83610

    Python 利用Python操作excel表格之openyxl介绍Part2

    Reference(sheet, min_col=1, min_row=2, max_row=30) c.set_categories(x_labels) c.width = 18 # 设置图表的宽度...单位 cm c.height = 8 # 设置图表的高度 单位 cm # 设置插入图表位置 cell = "A10" sheet.add_chart(c, cell) # 绘制双y坐标轴图表...(单位:EMUs s.smooth = True # 设置平滑线条 # 设置第二个图表的y轴同x轴的交叉点为最大值 max,以便让其y轴靠图表最右侧展示 c2.y_axis.crosses =...Sheet工作表,可通过如下方式获取默认新建的Sheet表, # work_book.active总是获取索引为0的Sheet表 sheet = work_book.active # 插入一个新的...Sheet表到最前面 mysheet1 = work_book.create_sheet(title='MySheet1', index=0) # 在最后面增加一个Sheet表 mysheet2

    99920

    动态曲线图(linechart)--Matplotlib绘制

    data_test['china'].tolist()[-1],color='#FF5872',edgecolor ='black',s = 280,lw = 2.5,zorder =4)#散点图 散点图的绘制则需知道我们只需要绘制最后一个散点...,即获取最后一个数据,因此scatter的x,y均有[-1]的索引,当然,我们需在之前使用tolist()方法转变成数据列表形式,填充颜色 color、散点边框颜色 edgecolor、散点大小 s、和线宽...这里需要注意的是zorder属性的设置,这里设置zorder=4,表示散点图绘制在折线图之后,即散点图压在折线图之上,使绘图更加美观。...,较早年份的数据较为集中,使图表绘制集中在一块,影响美观,特经此过程进行设置,而这也是 matplotlib 3.1 版本新添加的内容。...第 86 行 ax.set_axisbelow(True) 设置网格线等属性位于图表图层之下。 下面给出一年份数据绘制的曲线图结果: ?

    2.2K40

    使用Java和图形库绘制一个简单的多维数据可视化图表

    当涉及到绘制多维数据可视化图表时,Java提供了多种图形库供我们选择。下面将介绍一种基于JavaFX的图形库,通过它可以轻松地创建一个简单的多维数据可视化图表。...在以下示例中,我们将使用JavaFX的折线图来展示多维数据的变化趋势。 首先,我们需要创建一个JavaFX应用程序,并添加必要的依赖项到项目中。...最后,我们将数据系列添加到折线图上,并创建一个JavaFX场景将折线图添加到其中。 当你运行这个应用程序时,将会看到一个简单的折线图显示多维数据的变化趋势。...你可以根据实际需求自定义图表的样式、轴标签和数据系列。 请注意,本示例仅展示了如何使用JavaFX的折线图来绘制简单的多维数据可视化图表。...总结起来,通过使用JavaFX的图形库,我们可以轻松地绘制一个简单的多维数据可视化图表。

    20610

    Android自定义View,画一个好看带延长线的饼状图

    前言 在Android中,图表的实现是比较麻烦的,基本只能通过自定义View来实现。目前Github上有一些集成度高功能性强的三方库,比如MPAndroidChart等。...,找出圆点 通过drawArc绘制扇区,绘制出饼图的各个部分 中间画一个圆,让饼图变为只有外面一圈 2.绘制饼图外的点、圈、线、字 点的角度处于每个圆弧的半分处,通过正余弦算出点的位置 以点为圆心画圈...确定圆点 在布局文件中,我们将自定义View的宽度设为match_paren,高度设为300dp,并添加一个浅色作为背景色。...image.png 添加中心空洞 相比设计稿,发现还有中间一个空洞,这个就简单啦,确定空洞半径占饼图的比例,再绘制一个同心白色圆形就好: //饼图中间的空洞占据的比例 float holeRadiusProportion...image.png 绘制延长点和圈 每个扇形都有一个延长点,点所处的位置在扇形圆弧中点的外部,对于扇形的角度我们已经知道了,所以延长点连接圆心的线,和X或Y轴形成的角度也是可知的,延长点到圆心的距离是圆半径

    1.9K20

    在编程中发现数学之美——使用python和Processing绘制几何图形

    Processing有两个内置的函数用来保存坐标系在某个点的方向并且返回:pushMatrix()和popMatrix()。在这个例子中,我们需要保存原点位于屏幕中心时的方向。...:创建了一个t变量,将坐标系移动到我们想绘制三角形的位置,旋转坐标系,绘制三角形,最后增加t的值。...还需要找到这个等边三角形的中点,使三角形围绕着它的中心旋转。要实现这些,我们需要确定等边三角形的三个顶点的坐标。想一想,在确定一个等边三角形的中心之后,如何绘制这个等边三角形?...所以如果我们根据这个大三角形的中心点位置绘制等边三角形的话,三个顶点的坐标应该如下图所示: ?...现在在运行应该能够得到一个完美的图案: ? 最后的工作 为了使图形看上去更有趣,我们需要再调整一下相移的角度。在这里你可以自己将角度设成任意的数,看看图形会有什么有趣的变化。

    6.5K11

    【STM32H7】第26章 ThreadX GUIX波形控件Line Chart

    Accepts Focus 使能聚焦,对应标志GX_STATUS_ACCEPTS_FOCUS。 Runtime Allocate 使能运行时动态申请和释放内存。...Data Min Value 设置波形绘制的最小值 Data Max Value 设置波形绘制的最大值 Left Margin 波形区在Line Chart控件里面距左边界距离,单位像素。...主要是Line Chart控件的波形区,数轴宽度和波形宽度设置: 这几个配置最常用,具体含义在本章26.2小节已经有说明。...注意这里的Axis Line Width数轴宽度设置为0的话,将不展示数轴,如果Data Line Width数据宽度大小设置为0,也将不展示数据波形。...26.7 总结 本章节主要为大家讲解了Line Chart波形控件的绘制方法,大家可以尝试自己也创建一个波形效果展示。

    48420

    【STM32F429】第24章 ThreadX GUIX波形控件Line Chart

    Accepts Focus 使能聚焦,对应标志GX_STATUS_ACCEPTS_FOCUS。 Runtime Allocate 使能运行时动态申请和释放内存。...Data Min Value 设置波形绘制的最小值 Data Max Value 设置波形绘制的最大值 Left Margin 波形区在Line Chart控件里面距左边界距离,单位像素。...主要是Line Chart控件的波形区,数轴宽度和波形宽度设置: 这几个配置最常用,具体含义在本章26.2小节已经有说明。...注意这里的Axis Line Width数轴宽度设置为0的话,将不展示数轴,如果Data Line Width数据宽度大小设置为0,也将不展示数据波形。...24.7 总结 本章节主要为大家讲解了Line Chart波形控件的绘制方法,大家可以尝试自己也创建一个波形效果展示。

    47120

    Android 开源项目android-open-project解析之(四) ColorPickView,GraphView,UI Style,Other

    强大的图表绘制工具,支持折线图、面积图、散点图、时间图、柱状图、条图、饼图、气泡图、圆环图、范围(高至低)条形图、网状图及各种图的结合;支持图的拖拽缩放。...来绘制各种图表,在设计时,尽量在保证开发效率的同一时候,给使用者提供足够多的定制化能力。...支付宝的password解锁 RangeBar 类似于SeekBar,不同的是能够选择一个范围内的值而不是单个值 项目地址:https://github.com/edmodo/range-bar.../yahoo/android-range-seek-bar 效果图: MaterialRangeBar 能够选择一个范围内的值而不是单个值的 SeekBar。...支持不同的弹出模式 项目地址:https://github.com/orhanobut/dialogplus FlowLayout 一个简单的流式布局,使用方法类似 LinearLayout,可是可以让子元素依据宽度自己主动换行

    1.3K20
    领券