我正在使用来自achartengine优秀库的ChartFactory.getTimeChartView方法。
我只显示上周的记录,允许用户使用renderer.setXAxisMin(OneWeekBefore);
属性向左平移以查看以前的记录。
我有两个问题:
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);
检查Dan的答案后,工作更新如下所示,对我有用:
// 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});
答案 0 :(得分:1)
对于第一个问题,平移和缩放限制应该类似于:
// please note that I am using the Java naming of variables
new double[] { oneWeekBefore, today, 0, yMax * 1.2 };
捏缩放是否有效?
对于第二个问题,请使用:
renderer.setInitialRange(new double[] {oneWeekBefore, today, 0, yMax * 1.2});