JFreeChart 甘特图

因项目要求,需要用到甘特图功能,众所周知,JFreeChart在条形图、饼状图等图形方面是最成功的开源技术之一,但是网上关于甘特图方面的资料相对比较少,以下功能全部是因项目需要,自己验证过的。

一、Plot对象

//设置水平网格线显示、隐藏

CategoryPlot.setDomainGridlinesVisible(boolean visible)

//设置值刻度间距模式(false为大,true为小) 新增

chart.getCategoryPlot().setDrawSharedDomainAxis(boolean draw);

二、Render对象

1. 热点提示

//generator为热点提示接口,如果自定义热点提示,可以实现此接口复写其中的方法

GanttRenderer.setToolTipGenerator(CategoryToolTipGenerator generator);

 

2. 超链接

/**

*顺序显示每个任务的url,url中支持加入js函数

 

/*

GanttRenderer.setItemURLGenerator(CategoryURLGenerator generator);

3. 设置任务条

//设置所有整个任务条的背景色

BarRenderer.setBarPainter(BarPainter painter)

//设置指定任务序列外围背景色

Render.setSeriesPaint(int series, Paint paint)

//设置指定任务序列显示、隐藏

Render.setSeriesVisible(Boolean visible)

//设置任务条宽高,范围在0-1,修改参数值,任务条宽高会有变化,但是变化规律不清楚

BarRenderer.setMaximumBarWidth(double percent)

BarRenderer.setMinimumBarLength(double min)

//设置指定任务边框是否可见

GanttRenderer.setDrawBarOutline(boolean draw);

//设置任务边框颜色

BarRenderer.setBaseOutlinePaint(Color.blue);

 

二、Axis对象

1. ValueAxis(值轴)

DateAxis.setRange(Date start,Date end)//设置日期显示范围

DateAxis.setTimeZone(TimeZone zone);//设置日期的时区

//设置日期按年月日显示

/**

 

*param unitType设置日期显示类型,按年\月\日\时\分显示

*param multiple设置日期间隔

*param formatter设置日期显示格式,例如yyyy-MM-dd

 

*/

DateAxis.setTickUnit(new DateTickUnit(DateTickUnitType unitType, int multiple, java.text.DateFormat formatter));

2. CategoryAxis(等级轴)

//参数 margin范围(0,1)

//设置最高的item距离顶端的距离

CategoryAxis.setLowerMargin(double margin)

//设置最低的item距离底端的距离

CategoryAxis.setUpperMargin(double margin)

三、标题对象

//设置主标题字体

StandardChartTheme.setExtraLargeFont(Font font)

//设置CategoryAxisValueAxis轴字体、图例字体     

StandardChartTheme.setRegularFont(Font font);         

//设置轴向的字体 (CategoryAxisValueAxis小标题)        

StandardChartTheme.setLargeFont(Font font);

     //单独设置图例字体

LegendTitle.setItemFont(Font font);

你可能感兴趣的:(JFreeChart)