JFreechart系列异常 [英] JFreechart SeriesException
问题描述
我试图通过介绍开始和结束日期来绘制一个使用时间序列的条形图,但是我在结束日期显示问题:
线程main中的异常 org.jfree.data.general.SeriesException
:您正在尝试在4-mai-2011期间添加观察结果,但该系列已包含该时间段的观察结果。重复不允许。尝试使用 addOrUpdate()
方法。
I am trying to plot a bar chart using timeseries by introducing the beginning and the end date , but i got a problem with the end date it indicate :
Exception in thread "main" org.jfree.data.general.SeriesException
: You are attempting to add an observation for the time period 4-mai-2011 but the series already contains an observation for that time period. Duplicates are not permitted. Try using the addOrUpdate()
method.
final TimeSeries series2 = new TimeSeries("ip max", Day.class);
String datebegin = "04/29/2011 02:00:01";
String dateend = "05/04/2011 02:00:01";
DateFormat formatter;
Date date;
formatter = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
date = formatter.parse(datebegin);
Calendar cal1 = Calendar.getInstance();
cal1.setTime(date);
Date date2;
date2 = (Date) formatter.parse(dateend);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2);
while (((cal1.compareTo(cal2)) != 0)) {
cal1.add(Calendar.HOUR, 24);
String intermediatestringdate = formatter.format(cal1.getTime());
System.out.println( intermediatestringdate);
Date intermediatedate = (Date) formatter.parse(dateend);
series2.add(new Day(intermediatedate),500);
}
推荐答案
假设您正在创建一个时间基于条形图的 ChartFactory.createXYBarChart()
与 IntervalXYDataset
,只需构建您的 TimeSeries
与合适的 TimePeriod
。
Assuming you are creating a time-based bar chart using ChartFactory.createXYBarChart()
with an IntervalXYDataset
, just construct the domain of your TimeSeries
with a suitable TimePeriod
.
private static IntervalXYDataset createDataset() {
TimeSeries series = new TimeSeries("Series");
RegularTimePeriod day = new Day(29, 4, 2011);
RegularTimePeriod end = new Day(4, 5, 2011);
int i = 1;
while (day.compareTo(end) < 1) {
series.addOrUpdate(day, i++);
day = day.next();
}
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(series);
return dataset;
}
另外,请注意 Day.class
不再需要 TimeSeries
。
Also, note that Day.class
is no longer required by TimeSeries
.
这篇关于JFreechart系列异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!