gpt4 book ai didi

android - 如何使用 MPAndroidChart 制作实时滚动窗口图

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:44:12 24 4
gpt4 key购买 nike

[也发布在 MPAndroidChart's Github]

我需要带有滚动窗口的实时图表,那时我遇到了“问题”。添加数据没问题,但在添加 Xvalue(index) 高于图形当前宽度的数据后,图形不会自动滚动,因为它似乎无法始终显示 [X] Xvalues。

问题示例: enter image description here图表中的结果 3不是我想要显示实时数据的。滚动窗口更有用。所以我试图实现这个..

我的工作“解决方案”是删除第一个 Xvalue,添加一个新 Xvalue,并将第一个屏幕上所有条目的所有 Xindex 移动到左侧。结果是这样的一些代码:

int GRAPH_WIDTH = 10;
LineData lineData = chart.getData();
LineDataSet lineDataSet = lineData.getDataSetByIndex(0);
int count = lineDataSet.getEntryCount();

// Make rolling window
if (lineData.getXValCount() <= count) {
// Remove/Add XVal
lineData.getXVals().add("" + count);
lineData.getXVals().remove(0);

// Move all entries 1 to the left..
for (int i=0; i < count; i++) {
Entry e = lineDataSet.getEntryForXIndex(i);
if (e==null) continue;

e.setXIndex(e.getXIndex() - 1);
}

// Set correct index to add value
count = GRAPH_WIDTH;
}

// Add new value
lineData.addEntry(new Entry([random value], count), 0);

// Make sure to draw
chart.notifyDataSetChanged();
chart.invalidate();

这实际上工作得很好(如 this video here 所示),但我觉得必须有更简单的方法来做到这一点。也许我忽略了一些 API 窗口/滚动..但如果这是获得此结果的“正确”方法,那么在您的库中添加对此类图表的支持将是一种增强。

最佳答案

谢谢你的视频。我很惊讶您发现了一种相当复杂但效果很好的解决方法。

不幸的是,这是目前唯一的方法来实现您想要的。我将努力尽快使这更容易,可能会重用您的一些代码。

同时看看这两种方法:

setScaleMinima(...)centerViewPort(...)

关于android - 如何使用 MPAndroidChart 制作实时滚动窗口图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28105547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com