AChartEngine Android - 重置图表的缩放和平移?
AChartEngine Android - reset zoom and pan of graph?
我正在构建一个 Android 应用程序,我正在使用 AChartEngine 来显示我获得的图表和值。
我能够正确地绘制出我拥有的值。但是,一旦用户放大并在我的图表周围平移,就很难查看数据。我考虑过的一个选项是显示一个“重绘图形”按钮,一旦用户单击它,图形就会重绘到原始状态,缩放和平移也会重置。
到目前为止的代码如下:
public void redrawGraph(View view){
chartView.repaint();
}
其中 redrawGraph
是我按钮的 onClick
函数,chartView
是 GraphicalView
.
类型的对象
但是,这似乎确实无济于事,因为它只会重绘我图表中的更改(如果我 added/removed 系列渲染器、系列等)。
如何在 AChartEngine 中重置图表的缩放和平移?
把这个放在你的多系列渲染中
multiRenderer.setZoomButtonsVisible(false);
// setting pan enablity which uses graph to move on both axis
multiRenderer.setPanEnabled(true, false);
// setting click false on graph
multiRenderer.setClickEnabled(false);
// setting zoom to false on both axis
multiRenderer.setZoomEnabled(true, false);
// setting lines to display on y axis
multiRenderer.setShowGridY(true);
// setting lines to display on x axis
multiRenderer.setShowGridX(true);
// setting legend to fit the screen size
multiRenderer.setFitLegend(true);
// setting displaying line on grid
multiRenderer.setShowGrid(true);
// setting zoom to false
multiRenderer.setZoomEnabled(false);
// setting external zoom functions to false
multiRenderer.setExternalZoomEnabled(false);
我的回答参考了 XY/time 图表。首先,您必须在您使用的每个渲染器中启用外部缩放功能。下面的代码片段显示了完成此操作的代码:
yourMultipleSeriesRenderer.setExternalZoomEnabled(true);
在您的方法 redrawGraph
中,您必须执行如下所示的命令:
public void redrawGraph(View view) {
chartView.zoomReset();
}
这对我来说非常有用。如果您需要任何进一步的信息,请发表评论。
我正在构建一个 Android 应用程序,我正在使用 AChartEngine 来显示我获得的图表和值。
我能够正确地绘制出我拥有的值。但是,一旦用户放大并在我的图表周围平移,就很难查看数据。我考虑过的一个选项是显示一个“重绘图形”按钮,一旦用户单击它,图形就会重绘到原始状态,缩放和平移也会重置。
到目前为止的代码如下:
public void redrawGraph(View view){
chartView.repaint();
}
其中 redrawGraph
是我按钮的 onClick
函数,chartView
是 GraphicalView
.
但是,这似乎确实无济于事,因为它只会重绘我图表中的更改(如果我 added/removed 系列渲染器、系列等)。
如何在 AChartEngine 中重置图表的缩放和平移?
把这个放在你的多系列渲染中
multiRenderer.setZoomButtonsVisible(false);
// setting pan enablity which uses graph to move on both axis
multiRenderer.setPanEnabled(true, false);
// setting click false on graph
multiRenderer.setClickEnabled(false);
// setting zoom to false on both axis
multiRenderer.setZoomEnabled(true, false);
// setting lines to display on y axis
multiRenderer.setShowGridY(true);
// setting lines to display on x axis
multiRenderer.setShowGridX(true);
// setting legend to fit the screen size
multiRenderer.setFitLegend(true);
// setting displaying line on grid
multiRenderer.setShowGrid(true);
// setting zoom to false
multiRenderer.setZoomEnabled(false);
// setting external zoom functions to false
multiRenderer.setExternalZoomEnabled(false);
我的回答参考了 XY/time 图表。首先,您必须在您使用的每个渲染器中启用外部缩放功能。下面的代码片段显示了完成此操作的代码:
yourMultipleSeriesRenderer.setExternalZoomEnabled(true);
在您的方法 redrawGraph
中,您必须执行如下所示的命令:
public void redrawGraph(View view) {
chartView.zoomReset();
}
这对我来说非常有用。如果您需要任何进一步的信息,请发表评论。