gpt4 book ai didi

jfreechart - jfree 甘特图条内的文本标签

转载 作者:行者123 更新时间:2023-12-01 09:04:10 26 4
gpt4 key购买 nike

我在这里有一个简单的甘特图,它由许多任务组成,就像这样:

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
);

有没有办法在每个栏内写一些东西,代表一个任务?例如,如果任务由两个子任务组成,是否可以用标签标记它们,以便在绘图上看到它们的名称?提前致谢!

最佳答案

要在每个项目中添加标签,请设置 setBaseItemLabelGenerator在这种情况下,我使用 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));

然后你会得到这个:b

Ganttt Chart with BaseItemLabelGenerator

自定义标签实现 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;
}


});

在此示例中 generateLabel控制栏中的标签,CategoryDataset , rowcolumn可用于确定您要标记的条形

enter image description here

关于jfreechart - jfree 甘特图条内的文本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11307070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com