91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java如何實現甘特圖

小億
111
2024-09-13 15:14:55
欄目: 編程語言

在Java中,可以使用第三方庫來實現甘特圖(Gantt Chart)的繪制。一個常用的庫是JFreeChart,它提供了豐富的圖表類型和繪制工具。以下是使用JFreeChart創建甘特圖的步驟:

  1. 首先,需要將JFreeChart庫添加到項目中。如果你使用Maven或Gradle構建項目,可以在pom.xmlbuild.gradle文件中添加相應的依賴。例如,對于Maven項目,添加以下依賴:
   <groupId>org.jfree</groupId>
   <artifactId>jfreechart</artifactId>
   <version>1.5.0</version>
</dependency>
  1. 接下來,創建一個Java類并導入所需的包:
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtils;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.renderer.category.IntervalBarRenderer;
import org.jfree.data.category.IntervalCategoryDataset;
import org.jfree.data.gantt.Task;
import org.jfree.data.gantt.TaskSeries;
import org.jfree.data.gantt.TaskSeriesCollection;
  1. 創建一個方法來生成甘特圖數據集:
private static IntervalCategoryDataset createDataset() {
    TaskSeries series = new TaskSeries("Tasks");
    Task task1 = new Task("Task 1", new Date(1629887400000L), new Date(1629906600000L));
    Task task2 = new Task("Task 2", new Date(1629906600000L), new Date(1629925800000L));
    series.add(task1);
    series.add(task2);

    TaskSeriesCollection dataset = new TaskSeriesCollection();
    dataset.add(series);
    return dataset;
}
  1. 創建一個方法來生成甘特圖:
public static void main(String[] args) {
    // 創建數據集
    IntervalCategoryDataset dataset = createDataset();

    // 創建甘特圖
    JFreeChart chart = ChartFactory.createGanttChart(
            "Gantt Chart Example", // 圖表標題
            "Tasks", // 類別軸標簽
            "Time", // 值軸標簽
            dataset, // 數據集
            true, // 是否顯示圖例
            true, // 是否顯示工具提示
            false // 是否顯示URL
    );

    // 設置圖表樣式
    CategoryPlot plot = (CategoryPlot) chart.getPlot();
    IntervalBarRenderer renderer = (IntervalBarRenderer) plot.getRenderer();
    renderer.setItemMargin(0.1);
    renderer.setBaseToolTipGenerator(new TaskSeriesToolTipGenerator());

    // 保存圖表為PNG文件
    try {
        ChartUtils.saveChartAsPNG(new File("gantt_chart.png"), chart, 800, 400);
    } catch (IOException e) {
        System.err.println("Error saving Gantt chart as PNG.");
        e.printStackTrace();
    }
}
  1. 運行程序,將在當前目錄下生成一個名為gantt_chart.png的甘特圖文件。

這只是一個簡單的示例,你可以根據需要自定義圖表的樣式、顏色等屬性。更多關于JFreeChart的信息和示例,請參考官方文檔:https://www.jfree.org/jfreechart/index.html

0
二连浩特市| 天祝| 五寨县| 盐边县| 庄浪县| 五华县| 榆中县| 克拉玛依市| 伊宁市| 忻州市| 昭平县| 沁水县| 东山县| 军事| 仙游县| 临潭县| 泌阳县| 宁阳县| 渝中区| 东乌珠穆沁旗| 株洲市| 广汉市| 平舆县| 老河口市| 十堰市| 禹州市| 宁波市| 扎赉特旗| 吉安县| 阿拉善左旗| 稷山县| 自贡市| 仁怀市| 南康市| 育儿| 玉山县| 安西县| 松溪县| 墨脱县| 东乌珠穆沁旗| 永宁县|