2

我在我的项目中使用 AChartengine。我正在显示带有数据库数据的用户图表。我实际上使用的是 1.0.0 版本的 AChartEngine。

我想将我的应用程序中的显示图表功能更改为线程。

一切正常,但是......我有一个问题。可运行线程显示的图表没有缩放的可能性。

在处理程序上,我检查了 GraphicalView 是否已启用。它是。我尝试了很多选择。这是 AChartEngine 的问题吗?

我正在使用这个渲染器选项:

        renderer.setXLabels(7);
        renderer.setYLabels(10);
        renderer.setLegendHeight(60);
        renderer.setShowGrid(true);
        renderer.setXLabelsAlign(Align.CENTER);
        renderer.setYLabelsAlign(Align.RIGHT);
        renderer.setZoomButtonsVisible(false);
        renderer.setZoomEnabled(true);
        renderer.setExternalZoomEnabled(true);
        renderer.setApplyBackgroundColor(true);
        renderer.setBackgroundColor(Color.WHITE);
        renderer.setLabelsColor(Color.BLACK);
        renderer.setMarginsColor(Color.WHITE);
        renderer.setChartTitle("");
        renderer.setMargins(new int[] { 15, AChartMarginLeft, 20, 15 });
        renderer.setPanLimits(new double[] { x.get(0)[0].getTime(),
                x.get(0)[(ileC - 1)].getTime() + (1 * 24 * 60 * 60 * 1000),
                minvalY, maxY });
        renderer.setZoomLimits(new double[] { x.get(0)[0].getTime(),
                x.get(0)[(ileC - 1)].getTime() + (1 * 24 * 60 * 60 * 1000),
                minvalY, maxY });
        renderer.setPointSize(4);
        renderer.setShowAxes(false);
        renderer.setAxisTitleTextSize(AChartAxisTitleTextSize);
        renderer.setLabelsTextSize(AChartsetLabelsTextSize);
        renderer.setLegendTextSize(AChartsetLegendTextSize);

因此启用了缩放。

处理程序中的 mChartView 显示 mChartView 已启用缩放。

    private final Handler myHandler = new Handler();

final Runnable updateRunnable = new Runnable() {
    public void run() {
        Log.d("updateRunnable","RUNNABLE");
        if (mRenderer.isZoomEnabled()) { 
        Log.d("ZOOM ENABLED","ENABLED");
        } else {
            Log.d("NO","NO ZOOMING");

        }
    }
};

解决方案

编辑:

我找到了我的问题的答案。我尝试了很多东西。这不是缩放/平移边距。我将这部分从线程移动到处理程序,现在缩放工作。如果这部分在线程中,图表还可以,但就像我说的那样,缩放不起作用。

mChartView = ChartFactory.getBarChartView(getApplicationContext(),
          ChartFunctions.buildBarDataset(titles, values), 
              renderer,type.DEFAULT);
4

1 回答 1

0

您正在设置一些缩放限制,这些限制似乎正是您的图表值范围。这意味着您不能在该范围之外进行缩放。

于 2013-01-26T16:58:41.717 回答