Java 无法绘制X为日期时间戳的正确线性图

Java 无法绘制X为日期时间戳的正确线性图,java,android,mpandroidchart,android-graphview,Java,Android,Mpandroidchart,Android Graphview,当我使用graphView绘制图形时,它看起来很好,并使用plot.ly进行了测试: 当使用hellochart/mpchart时,图形看起来很糟糕: Hellochart: MPChart: 我在这两个图上的数据集是X,Y: 1512488280000 1.200000048 1512488310000 1.200000048 1512488346000 1.200000048 1512488370000 3.599999905 1512488400000 1.20000

当我使用graphView绘制图形时,它看起来很好,并使用plot.ly进行了测试:

当使用hellochart/mpchart时,图形看起来很糟糕:

Hellochart:

MPChart:

我在这两个图上的数据集是X,Y:

1512488280000 1.200000048 1512488310000 1.200000048 1512488346000 1.200000048 1512488370000 3.599999905 1512488400000 1.200000048 1512488430000 1.200000048 1512488460000 1.200000048 1512488490000 1.200000048 1512488524000 1.200000048 1512488550000 6 1512488580000 1.200000048 1512488612000 1.200000048 1512488646000 1.200000048 1512488674000 3.599999905 1512488702000 1.200000048 1512488730000 1.200000048 1512488760000 6 1512488790000 1.200000048 1512488820000 1.200000048 1512488850000 1.200000048 1512488880000 2.400000095 1512488910000 1.200000048 1512488940000 1.200000048 1512488970000 1.200000048 1512489000000 1.200000048 1512489030000 1.200000048 1512489060000 12 1512489090000 1.200000048 1512489126000 13.19999981 1512489150000 7.199999809

我看到在hellochart和mpchart中,图形看起来是一样的,而在graphview中,它正确地显示了,所以我一定是做错了什么


有办法让它工作吗?

问题解决了。事实证明,大多数库不规范化值,而是依赖于double/float。目前唯一接受长整数的库是GraphView,但它非常有限,基本上不推荐使用。因此,在填充数据集之前,由我们来规范化值

我所需要做的就是在添加到绘图数据集之前规范化X值。我决定依靠差异而不是公约数

例如,你有以下几点:

x1 1512488280000   y1 1.200000048

x2 1512488310000   y2 1.200000048

x3 1512488346000   y3 1.200000048

x4 1512488370000   y4 3.599999905
标准化数据集计算:

如果您计算x1和x2之间的x1x2Diff差,那么在我们的新数据集中x2Point将得到30000,x1Point将其设置为0,因为我们感兴趣的是保持点之间的相同差

x2x3Diff是36000,您需要跟踪上一个x值,或者只是简单地将上一个点相加,因此在我们的新数据集中x3Point=x2x3Diff+x2Point=66000

最后,x3x4Diff为24000,因此x4Point=x3x4Diff+x3Point=90000

最后,这是我们新的规范化数据网络,它将在hellocharts和mpcharts等库中绘制适当的图形:

 0     1.200000048

30000 1.200000048

66000 1.200000048

90000 3.599999905
现在,您还可以通过在原始数据集中计算x1x4Diff来检查是否正确执行了此操作,并且差距为90000


还要注意的是,您可以创建一个变量来跟踪最新的值,因为这个示例是为了说明它是如何工作的,这就是为什么我会一步一步地将其分解。

您可以分享您的mpcharts代码吗?