rep*_*pto 3 gantt-chart jfreechart
我这里有一个简单的甘特图,它由许多任务组成:
TaskSeries s1 = new TaskSeries("Planned Tasks");
Task newTask = new Task("Task" +
String.valueOf(taskIndex),
new
SimpleTimePeriod(currentTime,
currentTime +
(int) distributionTime)
);
s1.add(newTask)
final TaskSeriesCollection collection = new TaskSeriesCollection();
collection.add(s1);
JFreeChart chart = ChartFactory.createGanttChart(
"Distribution ",
"Task",
"Time",
collection,
true,
true,
false
);
Run Code Online (Sandbox Code Playgroud)
有没有办法在每个栏中写一些内容,代表一项任务?例如,如果任务由两个子任务组成,是否可以用标签标记它们,那么它们的名字会在图上看到?提前致谢!
要在每个项目中添加一个标签设置,setBaseItemLabelGenerator在这种情况下,我正在使用a,IntervalCategoryItemLabelGenerator但您可以通过扩展实现自己 CategoryItemLabelGenerator.
使用此代码:
CategoryPlot plot = (CategoryPlot) chart.getPlot();
CategoryItemRenderer renderer = plot.getRenderer();
renderer.setBaseItemLabelGenerator( new IntervalCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
renderer.setBaseItemLabelPaint(Color.BLACK);
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.INSIDE6, TextAnchor.BOTTOM_CENTER));
Run Code Online (Sandbox Code Playgroud)
你骂然后得到这个:b

自定义标签工具 CategoryItemLabelGenerator
renderer.setBaseItemLabelGenerator( new CategoryItemLabelGenerator(){
@Override
public String generateRowLabel(CategoryDataset dataset, int row) {
return "Your Row Text " + row;
}
@Override
public String generateColumnLabel(CategoryDataset dataset, int column) {
return "Your Column Text " + column;
}
@Override
public String generateLabel(CategoryDataset dataset, int row, int column) {
return "Your Label Text " + row + "," + column;
}
});
Run Code Online (Sandbox Code Playgroud)
在这个例子中generateLabel控制在酒吧拉布勒,CategoryDataset,row和column可被用于确定你是哪个杆标签

| 归档时间: |
|
| 查看次数: |
6881 次 |
| 最近记录: |