我正在使用来自 achartengine 优秀库的 ChartFactory.getTimeChartView 方法。renderer.setXAxisMin(OneWeekBefore);
我只显示最后一周的记录,允许用户使用属性向左平移以查看以前的记录。
我有 2 个问题:
a) 如何在 TimeChart 中允许 X 轴缩放?
尽管在 X 轴和 Y 轴上都启用了缩放,但我无法在 X 轴上进行缩放。我可能会以不适当的方式使用缩放和平移限制,但找不到什么/为什么。
b)如何改变缩放按钮的行为?
我想以 1:1 的比例更改缩放按钮的行为。按下此按钮,将显示整个图表,而不是仅显示上周。
这是缩放属性设置的一段代码:
// ZOOM
double[] panlimits = new double[] { XfirstRecord , maxdate, 0.0, Ymax * 1.2 };
renderer.setZoomEnabled(enabledXzoom, YenabledYzoom);
renderer.setZoomButtonsVisible(showZoomButtons);
renderer.setZoomRate(ZoomRate);
renderer.setPanLimits(panlimits);
renderer.setZoomLimits(panlimits);
renderer.setXAxisMin(OneWeekBefore);
检查丹的答案后的工作更新如下,它适用于我:
// ZOOM
double[] panlimits = new double[] { XfirstRecord, now, 0.0, Ymax * 1.2 };
renderer.setZoomEnabled(XenabledZoom, YenabledZoom);
renderer.setZoomButtonsVisible(showZoomButtons);
renderer.setZoomRate(ZoomRate);
renderer.setPanLimits(panlimits);
renderer.setZoomLimits(panlimits);
// SHOW ONLY last WEEK even after Zoom reset
renderer.setXAxisMin(OneWeekBefore);
renderer.setInitialRange(new double[] {OneWeekBefore, now, 0.0, Ymax * 1.2});