【发布时间】:2013-08-01 07:45:48
【问题描述】:
我创建了一个时间序列图表,我希望 x 轴从我的序列的最小值开始,现在从 sql 返回的最小值是 '2011-06-30' 但 x 轴似乎从“2011-05-01”开始。我尝试通过计算最小日期并将其映射到 java.util.Date 字段,然后将该字段设置为域轴最小值表达式来从 sql 设置它,但没有运气。 我还使用 java Customizerclass 来修改图表的布局,如果我在我的自定义程序类中这样做,它似乎可以工作:
RotatingLabelAxis domainAxis = new RotatingLabelAxis();
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
java.util.Date date = null;
try {
date = sdf.parse("30.06.2011"); //Would like this to be the first date in plot instead.
} catch (ParseException e) {
e.printStackTrace();
}
domainAxis.setMinimumDate(date);
这似乎使第一个值为 2011-07-01 的值是正确的。问题是我希望上面示例中的日期“2011-06-30”改为从系列中的最低日期设置。有没有办法执行以下操作之一:
* 从定制器类中获取系列中的最短日期。
* 一种在 sql 查询中映射的方法以正确的格式返回计算出的思维导图,以便我可以在“域轴最小值表达式”字段中正确设置图表?
非常感谢任何帮助。
【问题讨论】:
-
JFreeChart 的 DateAxis.setMinimumDate() 需要一个 java.util.Date 参数。您可以在此处找到 JavaDoc:jfree.org/jfreechart/api/javadoc/org/jfree/chart/axis/…。为什么你认为你必须通过 java.sql.Date?关于你的其余问题,我没有看到你的问题。请改写并解释什么是“customizerclass”是您需要它的原因。
-
嗨马丁,我已经厌倦了使用 java.util.Date 代替,结果似乎是一样的。我还基于此修改了我的上述问题和示例。我也试图澄清这个问题,所以希望现在我所追求的更清楚。告诉我是否应该在问题中添加更多信息或修改其中的其他内容。问候罗伯特
标签: java charts jasper-reports jfreechart