【问题标题】:Gantt chart with nanoseconds带有纳秒的甘特图
【发布时间】:2014-07-27 16:22:19
【问题描述】:
我需要为来自微处理器的数据创建一个甘特图,该数据具有纳秒精度和一秒的总持续时间。 JFreeChart 中的甘特图似乎符合我的需求,只是它使用了只有毫秒精度的 java.util.Date(如此处所述:JFree TimeSeries Chart Spanning Nanoseconds)。
可以使用 Date4j 代替,但是需要更改很多内部代码,所以这并不可行Link。
解决方法是创建一个 ValueAxis 子类来处理纳秒。有几个使用 ValueAxis here 和 here 处理自定义标签的示例,不幸的是我找不到创建纳秒时间刻度的方法。
如果有人能告诉我如何用纳秒标签替换甘特图的现有日期轴,我将不胜感激。
【问题讨论】:
标签:
java
charts
jfreechart
gantt-chart
【解决方案1】:
我设法通过使用自定义数字格式轴覆盖日期轴来解决我的问题,该轴用于将时钟周期放置在 x 轴上。
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryItemRenderer renderer = plot.getRenderer();
renderer.setSeriesPaint(0, Color.blue);
NumberAxis xAxis = new NumberAxis();
DecimalFormat format = (DecimalFormat)DecimalFormat.getNumberInstance(Locale.ENGLISH);
format.applyPattern("#");
xAxis.setNumberFormatOverride(format);
xAxis.setLabel("Cycles");
plot.setRangeAxis(xAxis);
renderer.setBaseToolTipGenerator(new IntervalCategoryToolTipGenerator("{3} - {4}", format));