我正在尝试显示在特定时间段会有不同颜色的情节。
我设法做到这一点的唯一方法是将初始数据系列分成几部分,并在要绘制的数据集中以适当的顺序添加它们。例如,如果绘图的默认颜色为蓝色,并且我想突出显示两个时间段(例如,红色),我将有一个由5个数据系列组成的数据集:
dataset.add(蓝色)初始图
dataset.add(红色)突出显示1
dataset.add(蓝色)初始图继续
dataset.add(红色)突出显示2
dataset.add(蓝色)初始图继续
连接5个数据集中每个部分的域轴中的点是有序的。但是我的域轴有问题。数据系列中的每个点都被适当地实例化(我猜,因为域轴的对齐适用于具有相同起点和终点的数据集)
milliseconds = ts.getTime() + (ts.getNanos() / 1000000);
date = new Date(milliseconds);
intYear = date.getYear() + 1900;
year = new Year(intYear);
intMonth = date.getMonth();
month = new Month(intMonth, year);
intDay = date.getDate();
day = new Day(intDay, month.getMonth(), year.getYear());
hour = new Hour(date.getHours(), day);
minute = new Minute(date.getMinutes(), hour);
tpVal = new TimePeriodValue(minute, watts);
s1.add(tpVal);
此图像的域轴多次放大。域轴的范围是00:00:00到23:59:59 http://i.imgur.com/c7TDY.jpg
有没有办法修复域轴的对齐方式,这样我可以正确显示绘图而无需放大?
答案 0 :(得分:0)
我找到了克服这个问题的“方法”。
如上所述,在将每个数据系列添加到数据集之后,我只是在数据集的末尾添加了原始的未切割数据系列,并且域轴包含了所有日期点并且已对齐正常。
原始的未切割数据系列正在被“切碎”部分重叠,因此根本看不到。这就是它现在的样子。 http://i.imgur.com/Wc893.jpg
我猜这个问题是因为没有数据系列可以覆盖从开始(第一个数据系列的第一个时间值)到结束(最后一个数据系列的最后一个时间值)的域轴中的每个点)搞乱了autorange()或调用轴对齐的任何方法。
我虽然应该让你知道;也许它会帮助其他有类似问题的人。
感谢toto建议保持原始数据系列不受影响。