在用freechart画甘特图的时候 最难处理的问题就是时间轴,在网上找来半天也没有找到合适的解决办法.
那么如何转换为自己想要的数据格式呢?
下面给出一种解决的方案。
通过查看Jfreechar提供的源文件,
JFreeChart jfc = ChartFactory.createGanttChart("1", "2", "3", dataset,
false, false, false);
查看createGanttChart()方法发现有:
CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, dateAxis,
renderer);
进入CategoryPlot的构造方法,看到 this.domainAxes.set(0, domainAxis);
而 private ObjectList domainAxes; 是这么定义的
可以通过 CategoryPlot.getDomainAxe方法拿到
那么由此可以看出DateAxis 放在了此容器的第一个位置 由此可以这样拿到
CategoryPlot categoryPlot = jfc.getCategoryPlot();
DateAxis da = (DateAxis)categoryPlot.getRangeAxis(0);
那么这样就可以很方便的来控制时间轴的显示问题了
da.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd"));
给出效果图片
posted on 2008-09-18 17:09
jiadong 阅读(2810)
评论(0) 编辑 收藏 所属分类:
OTHERS