【发布时间】:2011-08-03 21:55:54
【问题描述】:
我正在尝试显示在特定时间段具有不同颜色的图。
我设法做到这一点的唯一方法是将初始数据系列分成几部分,然后以适当的顺序将它们添加到要绘制的数据集中。例如,如果绘图的默认颜色是蓝色并且我想突出显示两个时间段(例如红色),我将拥有一个由 5 个数据系列组成的数据集:
dataset.add(blue) 初始图
dataset.add(red) 高亮 1
dataset.add(blue) 初始图继续
dataset.add(red) 高亮 2
dataset.add(blue) 初始图继续
连接数据集 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
有没有办法修复域轴的对齐方式,这样我就可以正确显示绘图而无需放大?
【问题讨论】:
-
有什么问题?我想我也会这样做。但是,我可能会保持初始数据系列不变,只是在所选数据段的顶部添加不同的颜色。
-
感谢您的建议。问题是如何修复域轴的对齐方式?在屏幕截图中,域轴至少放大了 4 倍。我希望域轴包含小时数,并且该图无需放大即可完全可见。知道如何解决这个问题吗? :)
-
对于 NumberAxis 有 autoAdjustRange。我仍然不确定我是否理解:初始范围是 0 到 23:59:59,缩放 4 次后它不会改变?
-
问题是域轴没有正确显示绘图。例如,如果它只是初始数据系列,则绘图将像这样i.imgur.com/oYJAA.jpg 但是,“切碎”版本不包括域轴中的所有点。
-
这是我没有放大得到的i.imgur.com/esEc5.jpg
标签: java jfreechart