如何在1中组合2个SegmentedTimelines?

时间:2014-01-22 13:31:24

标签: java jfreechart timeline

正如在文件中所说:

/**
     * Factory method to create a 15-min, 9:00 AM thought 4:00 PM, Monday
     * through Friday SegmentedTimeline.
     * <P>
     * This timeline uses a segmentSize of FIFTEEN_MIN_SEGMENT_SIZE. The
     * segment group is defined as 28 included segments (9:00 AM through
     * 4:00 PM) and 68 excluded segments (4:00 PM through 9:00 AM the next day).
     * <P>
     * In order to exclude Saturdays and Sundays it uses a baseTimeline that
     * only includes Monday through Friday days.
     * <P>
     * The <code>startTime</code> of the resulting timeline will be 9:00 AM
     * after the startTime of the baseTimeline. This will correspond to 9:00 AM
     * of the first Monday after 1/1/1900.
     *
     * @return A fully initialized SegmentedTimeline.
     */
     public static SegmentedTimeline newFifteenMinuteTimeline()

该方法的代码中的

是: “timeline.setBaseTimeline(newMondayThroughFridayTimeline());

如果您只是搜索SegmentedTimeline baseTimeline

的位置 你会看到

用于其他3种方法:

public void addBaseTimelineException(long domainValue) - 为baseTimeline添加了一些例外,

public void addBaseTimelineExclusions(long fromBaseDomainValue, long toBaseDomainValue) - 同样在这里,

public SegmentedTimeline getBaseTimeline()

请注意,此getter不会在其他地方使用。

所以我的问题是,实现在哪里,允许添加周末作为segmentedTimeline的例外,它高于baseTimeline? 简介:将baseTimeline添加到任何时间轴都不起作用。

如何修改该类(SegmentedTimeLine)来制作一个时间轴,就像盘中一样 - 但是星期一到星期五,每天从早上9点到晚上7点?

1 个答案:

答案 0 :(得分:1)

这是SegmentedTimeline的一个实现问题,它仍然没有修复,而且(更糟)可能不会很快得到解决。 project leader said他可能会在将来的JFreeChart版本中废除此功能或实现新功能。

作为建议,基于CategoryAxis的图表可以帮助您显示数据集,而不必担心排除长(非交易时间段),尽管您可能需要覆盖某些方法来自定义域轴的显示。见http://www.jfree.org/jfreechart/api/javadoc/src-html/org/jfree/chart/demo/BarChartDemo1.html