【问题标题】:Displaying only a part of graph using Achartengine使用 Achartengine 仅显示图形的一部分
【发布时间】:2015-02-22 21:19:20
【问题描述】:

我正在使用 Achartengine 来生成 TimeChart 图表。该数据集由从 2003 年 1 月 15 日到 2040 年 12 月 4 日(x 轴)的日期组成,Y 轴具有相应的随机值。我正在动态显示图形,我一直在读取后台线程(AsyncTask)上的值并重新绘制图形视图。我有两个问题:

  1. 视图从 1970 年 1 月 2 日开始(我不知道为什么),我必须滚动到 2003 年 1 月 15 日才能看到图表。从 2003 年 1 月 15 日开始,我应该进行哪些更改?

  2. 1234563有没有办法做到这一点?

【问题讨论】:

  • 我明白为什么它开始显示形式 Jan, 2, 1970 那是因为我使用 dataset.add(Date x, double y) 将点添加到数据集中并将数据对象创建为新数据(字符串 y),这考虑了 1970 年 1 月 2 日的日期范围。

标签: android achartengine


【解决方案1】:

我可以使用 mRenderer.setYAxisMin(new Date("1/15/2003 11:16:00 AM").getTime()) 解决第一个问题虽然这是一种已弃用的方法,但它对我有用.现在,当我显示图表时,它从给定数据开始,而不是 1970 年 1 月 2 日。

【讨论】:

    【解决方案2】:

    您可以在重新绘制之前使用所需值动态设置 Y 轴最小值和最大值。

    对于第一个问题,也许更好的选择是设置平移限制,这样您就不能滚动到图表的空白部分。 你可以这样做

    mRenderer.setPanLimits(new double[]{xMin, xMax, yMin, yMax});
    

    你在哪里计算这样的限制

    double xMin = minDate.getTime();
    double xMax = maxDate.getTime();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-16
      • 2013-07-14
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      相关资源
      最近更新 更多