jfreechart画图是,用的是org.jfree.data.time.Hour,总是出错!??:(
汇科天下 2005-07-17 08:15:34 jfreechart画图是,用的是org.jfree.data.time.Hour,总是出错!??:(
我用的是jfreechart-1.0.0-rc1和jcommon-1.0.0-rc1,从网上写的原代码生成的jar 文件和文档
我使用org.jfree.data.time.Day一切都是正常.
当我以小时为单位来画图的时候,将对应的org.jfree.data.time.Day改为org.jfree.data.time.Hour却在运行的时候报错:
org.jfree.data.general.SeriesException: You are trying to add data where the time period class is org.jfree.data.time.Hour, but the TimeSeries is expecting an instance of org.jfree.data.time.Day.
org.jfree.data.time.TimeSeries.add(TimeSeries.java:467)
com.cellcom.business.ServletHourHelp.getData(ServletHourHelp.java:150)
com.cellcom.business.ServletHourHelp.createTimeSeriesChart(ServletHourHelp.java:101)
com.cellcom.servlet.IvrBussEmployHourServlet.service(IvrBussEmployHourServlet.java:65)
不明白其实原因!求我!!!!
==================================================================================
以下是相应代码:
public HashMap getData(ServletRequest req) {
ArrayList[] servs = null;
BussEmployQuery query = new BussEmployQuery();
HashMap hashMapServs = query.getBussHourEmploy(req);
HashMap servIdMap = (HashMap) hashMapServs.get("info");
HashMap servsMap = (HashMap) hashMapServs.get("servsDataMap");
Iterator it = servIdMap.keySet().iterator();
TimeSeriesCollection result = new TimeSeriesCollection();
for (; it.hasNext(); ) { //取一个业务
String servId = (String) it.next();
String servName = (String) servIdMap.get(servId);
TimeSeries servEmploys = new TimeSeries(servName);
ArrayList dataList = (ArrayList) servsMap.get(servId);
for (int k = 0; k < dataList.size(); k++) {
IvrBussEmploy employ = (IvrBussEmploy) dataList.get(k);
servEmploys.add(new TimeSeriesDataItem(new Hour(employ.getHour(),employ.getDay(),employ.getMonth(),employ.getYear()), employ.getAccount()));//////////此处报错,
}
result.addSeries(servEmploys);
}
servsMap.put("data", result);
return servsMap;
}