2017-02-24 66 views
1

在Java项目中,我使用JFreeChart 1.0.19版本和XYPlot在绘图上绘制线条。将XYPlot的日期轴缩放到一个固定的时间间隔

我想要比例尺xAxis(日期轴)作为例子中的日期 - 10:00:05,10:00:05,10:00:10,10:00:15 ... - 每5秒缩放一次。

但现在当用户使用10:00:03时开始,它看起来10:00:03,10点00分08秒,10时00分十三秒,10:00:18 ...

我想总是缩短为5秒,如10:00:05,10:00:05,10:00:10,10:00:15并独立于开始时间,如何设置?

我可配置域轴(时间轴)如下:

domainAxis.setAutoRange(true); 
domainAxis.setAutoTickUnitSelection(true); 
domainAxis.setLowerMargin(0.001); 
domainAxis.setUpperMargin(0.001); 

domainAxisValueAxis

一个对象我的情节看起来像 正如你所看到的时间值是11点21分57秒,11:22:07,11:22:17等。我希望总是应该是11:21:55,11:22:05,11:22:15等。

+1

你没有提供任何代码,但好像你刚刚检查时钟秒以'秒%5“,然后再进行任何录制。 –

+0

但是前四秒呢?将没有日期,现在是自动缩放 – ACz

+0

也许有任何建议如何设置它的情节? – ACz

回答

1

因为domainAxisDateAxis的一个实例,您可以使用setTickUnit()指定具有所需的unitTypemultipleDateTickUnit。在这个片段中,时间为5秒,格式包括秒钟:

domainAxis.setTickUnit(new DateTickUnit(DateTickUnitType.SECOND, 5)); 
domainAxis.setDateFormatOverride(new SimpleDateFormat("HH:mm:ss")); 

image

+0

'ValueAxis'不包含方法'setTickUnit()' – ACz

+0

'DateAxis' _is是抽象类的具体子类,'ValueAxis';你的问题提到两个,所以你可能想检查。有关更具体的指导,请编辑您的问题,以包含显示您修改方法的[mcve]。 – trashgod