gpt4 book ai didi

android - 使用 achartEngine 卡在移动图中

转载 作者:行者123 更新时间:2023-11-29 22:05:45 25 4
gpt4 key购买 nike

嗨, friend 们,我在我的 Android 应用程序中使用了图表。因为我每秒更新一次图表。现在我想在更新值时将此图表从右移动到左。任何人都知道如何这样做?任何帮助表示赞赏。

 dataset = new XYMultipleSeriesDataset();

renderer = new XYMultipleSeriesRenderer();

renderer.setChartTitleTextSize(12);
renderer.setLabelsTextSize(15);
renderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
renderer.setApplyBackgroundColor(true);
renderer.setBackgroundColor(Color.TRANSPARENT);
renderer.setZoomEnabled(false, false);
renderer.setPointSize(5f);
renderer.setShowGrid(true);
renderer.setXTitle("Time");
renderer.setYTitle("Number");

rendererSeries = new XYSeriesRenderer();

rendererSeries.setColor(Color.BLUE);
rendererSeries.setFillBelowLine(false);
rendererSeries.setFillPoints(true);
rendererSeries.setPointStyle(PointStyle.CIRCLE);
renderer.addSeriesRenderer(rendererSeries);

timeSeries = new TimeSeries("Random");
mThread = new Thread(){
public void run(){
while(true){
try {
Thread.sleep(2000L);
}
catch (InterruptedException e) {
e.printStackTrace();
}

timeSeries.add(new Date(), random.nextInt(10));
mchartView.repaint();
}
}
};
mThread.start();

dataset.addSeries(timeSeries);
mchartView = ChartFactory.getLineChartView(Pedometer.this, dataset, renderer);
mchartView.refreshDrawableState();
mchartView.repaint();

llChart.addView(mchartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

最佳答案

您可以使用 setRange 设置每次添加新点时所需的范围。例如:

double maxX = timeSeries.getMaxX();
double minX = maxX - deltaX; // deltaX is your required x-range
double maxY = timeSeries.getMinY();
double minY = timeSeries.getMaxY();

renderer.setRange(new double[] { minX, maxX, minY, maxY });

这样,您的右边缘始终显示最长时间,而图表的其余部分将从右向左移动。

希望对您有所帮助。

关于android - 使用 achartEngine 卡在移动图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10796888/

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