android - 如何在图表引擎中的 x 轴上做时间

标签 android android-layout achartengine

高手们,我在数据库中存储了 1 到 10 之间的数字,每个数字都与它存储在数据库中的时间一起存储。所以我有两组数据在 y 轴上绘制数字,在 x 轴上绘制时间。但是我想以一种方式来做,以便它以小时为单位绘制时间。假设我在 2 小时内取了 4 个号码。例如,13:30 取 9 号,14:00 取 10 号; 14:30 3 点,15:00 5 点。绘制轴很容易,但是当我想将 x 轴绘制为历史事件时,x 轴给了我 2 个问题,这意味着轴的名称将是 hrs,而轴上的 0 将是当前时间让我们说 renderer.addTextLabel (0, 15:07); ,然后轴上的 1 将是一个小时前或当前时间减去 60 分钟,所以 renderer.addTextLabel(1, 14:07); 和轴上的最终 2 将是 2 小时前 renderer.addTextLabel(2, 13:07);。 我的图表有两个问题,一个是因为当前时间比过去时间的值更大,当绘制图表时,x 轴从 2 开始下降到 0,而不是从 0 开始上升到 2。其次,图表以 100 秒而不是代表时间的 60 秒递增。所以任何时间值比让我们说 13:59 和说 14:00 在它们之间有更大的差距图表假设应该有数字值 13:60 或 13:80 或 13:99 如果我们正在计算的话是真的,但显然在递增下一个数字之前时间会增加到 60。我将如何解决这个问题?我是 android 和 achartengine 的新手,所以如果您不确定,请让我详细说明。谢谢

最佳答案

首先,声明 2 个渲染器,一个用于数据,一个用于图表,还有一个 TimeSeries。

renderer = new XYMultipleSeriesRenderer();
dataset = new XYMultipleSeriesDataset();

timeSeries = new TimeSeries("");
dataset.addSeries(timeSeries);


currentRenderer = new XYSeriesRenderer();
currentRenderer.setLineWidth(2);
currentRenderer.setFillPoints(true);
currentRenderer.setColor(Color.CYAN);
currentRenderer.setShowLegendItem(false);
renderer.addSeriesRenderer(currentRenderer);

然后将数据添加到您的 TimeSeries(使用日期,而不是字符串或其他任何内容)

Date date = format.parse(datasList.get(i).first);
timeSeries.add(date, datasList.get(i).second);

然后设置你的图表,将它添加到你的 View 并绘制它

charter.setChart(ChartFactory.getTimeChartView(view.getContext(),
                charter.getDataset(), charter.getRenderer(), "%tT"));
layout.addView(charter.getChart(), 0, new LayoutParams(
                LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
charter.getChart().repaint();

就是这样,通常你有一个很棒的 TimeSeries 图表

关于android - 如何在图表引擎中的 x 轴上做时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17786260/

相关文章:

java - 多个重复的子元素 xml

android - NDK 问题

java - 如何在 map View 中获得透明状态栏?

android - achartengine 图例问题

android - AChartEngine 最大 x 标签可见

android - AChartEngine 条形图条对齐

android - RecyclerView 与 ViewPager 中的 StaggeredGridLayoutManager,返回 fragment 时自动排列项目

android - 错误的状态类,期望查看状态但接收到类 android.widget.CompoundButton$SavedState

android - 在 android 中以编程方式创建布局 - 问题

java - 将多个文本添加到 TextView