日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JfreeChart(八)之甘特图

發布時間:2023/12/3 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JfreeChart(八)之甘特图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自? ?JfreeChart實現甘特圖

一、甘特圖簡介

甘特圖(Gantt chart)又稱為橫道圖、條狀圖(Bar chart)。以提出者亨利·L·甘特先生的名字命名。

甘特圖內在思想簡單,即以圖示的方式通過活動列表和時間刻度形象地表示出任何特定項目的活動順序與持續時間。基本是一條線條圖,橫軸表示時間,縱軸表示活動(項目),線條表示在整個期間上計劃和實際的活動完成情況。它直觀地表明任務計劃在什么時候進行,及實際進展與計劃要求的對比。

?

二、實例

?

package com.test.Gannt;import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;import javax.swing.JFrame;import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.DateAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.data.category.IntervalCategoryDataset; import org.jfree.data.gantt.Task; import org.jfree.data.gantt.TaskSeries; import org.jfree.data.gantt.TaskSeriesCollection;/** * @author Danny * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class GanttChart{public static void main(String[] args) {IntervalCategoryDataset dataset = createSampleDataset();JFreeChart chart = ChartFactory.createGanttChart("任務管理系統", "任務各階段詳細實施計劃", "任務周期", dataset,false, false, false);CategoryPlot plot=chart.getCategoryPlot();chart.getTitle().setFont(new Font("新宋體",Font.BOLD,20));CategoryAxis domainAxis=plot.getDomainAxis();//水平底部列表domainAxis.setLabelFont(new Font("新宋體",Font.BOLD,14));//水平底部標題domainAxis.setTickLabelFont(new Font("新宋體",Font.BOLD,12));//垂直標題ValueAxis rangeAxis = plot.getRangeAxis();rangeAxis.setLabelFont(new Font("新宋體",Font.BOLD,16));//用來控制時間軸的顯示,防止亂碼DateAxis da = (DateAxis)plot.getRangeAxis(0);da.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd"));FileOutputStream fop = null;try{System.out.println("Danny>> begin.");fop = new FileOutputStream("D:\\gantt.jpg");ChartUtilities.writeChartAsJPEG(fop,1f, chart, 800, 600,null);System.out.println("Danny>> end..");System.out.println("Danny>> successful...");} catch (IOException e){e.printStackTrace();} finally{try{fop.close();} catch (IOException e){e.printStackTrace();}}}/** *//*** Utility method for creating <code>Date</code> objects.** @param day 日* @param month 月* @param year 年** @return a date.*/private static Date date(final int day, final int month, final int year){final Calendar calendar = Calendar.getInstance();calendar.set(year, month, day);final Date result = calendar.getTime();return result;}/** ** @return The dataset.*/private static IntervalCategoryDataset createSampleDataset() {final TaskSeries s1 = new TaskSeries("SCHEDULE");final Task t1 = new Task("任務1", date(1, Calendar.JANUARY, 2001), date(5, Calendar.APRIL, 2001));t1.setPercentComplete(0.8);s1.add(t1);// 創建一個任務并插入兩個子任務final Task t3 = new Task("任務2", date(10, Calendar.APRIL, 2001), date(5, Calendar.MAY, 2001));final Task st31 = new Task("需求1", date(10, Calendar.APRIL, 2001), date(25, Calendar.APRIL, 2001));st31.setPercentComplete(0.50);final Task st32 = new Task("需求2", date(1, Calendar.MAY, 2001), date(5, Calendar.MAY, 2001));st32.setPercentComplete(1.0);t3.addSubtask(st31);t3.addSubtask(st32);s1.add(t3);final Task t5 = new Task( "任務3", date(2, Calendar.JUNE, 2001), date(2, Calendar.JUNE, 2001)); s1.add(t5);final Task t6 = new Task("任務4", date(3, Calendar.MARCH, 2001), date(31, Calendar.JULY, 2001));t6.setPercentComplete(0.60);s1.add(t6);final Task t8 = new Task("任務結束", date(10, Calendar.AUGUST, 2001), date(10, Calendar.AUGUST, 2001));t8.setPercentComplete(0.0);s1.add(t8);final Task t9 = new Task("任務試用", date(12, Calendar.AUGUST, 2001), date(12, Calendar.SEPTEMBER, 2001));t9.setPercentComplete(0.0);s1.add(t9);final Task t10 = new Task("任務測試", date(13, Calendar.SEPTEMBER, 2001), date(31, Calendar.OCTOBER, 2001));t10.setPercentComplete(0.2);s1.add(t10);final Task t12 = new Task("全部結束", date(28, Calendar.NOVEMBER, 2001), date(30, Calendar.NOVEMBER, 2001));t12.setPercentComplete(0.0);s1.add(t12);final TaskSeriesCollection collection = new TaskSeriesCollection();collection.add(s1);return collection;} }

?

總結

以上是生活随笔為你收集整理的JfreeChart(八)之甘特图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩激情在线播放 | 少妇又色又紧又黄又刺激免费 | 黄色免费版 | 国产精品欧美激情 | 青娱乐自拍视频 | 上海女子图鉴 | avtt久久| 日韩午夜在线观看 | 先锋影音av资源在线观看 | 日本东京热一区二区三区 | 免费a在线观看播放 | 一本一道久久 | 少妇一区二区三区四区 | 免费无毒av | 久久经典 | 欧美 变态 另类 人妖 | 日韩免费观看视频 | 欧美一区二区黄片 | 日韩精品电影一区二区三区 | 一区二区视频免费看 | 久久精品视频无码 | 97人人射 | 亚洲伦理视频 | 羞羞动漫免费观看 | 深爱五月激情网 | 中国挤奶哺乳午夜片 | 男女午夜激情视频 | 精品黑人一区二区三区 | 日韩免费专区 | 久久一区二 | 99一级片 | 国产chinesehd天美传媒 | 91色视频 | 红桃视频国产精品 | 精品久久久蜜桃 | av伦理在线 | 欧美一级爱爱视频 | 香蕉视频在线免费看 | 国产绿帽刺激高潮对白 | 久一视频在线观看 | 欧洲中文字幕 | 久久亚洲婷婷 | 亚洲人交配 | 亚洲欧美天堂网 | 末发成年娇小性xxxxx | 国产伦理一区 | av资源网在线观看 | 老女人乱淫 | 欧美人吸奶水吃奶水 | 少妇一夜三次一区二区 | 第一章婶婶的性事 | 高hhhhh| 国产孕交 | 天天综合干 | 国产一级在线视频 | 国产福利91精品一区二区三区 | 五月天开心激情 | 华人在线视频 | 大尺度做爰啪啪床戏 | 99er在线| 欧美性生交大片免费看 | 国产农村妇女毛片精品 | 欧美精品久久久久 | 天堂…中文在线最新版在线 | 91官网在线观看 | 天天干天天操天天玩 | 中文字幕在线观看1 | 成人羞羞国产免费游戏 | 国产福利资源在线 | 精品福利一区 | 男人日女人逼 | 日本久久久久 | 被黑人各种姿势猛c哭h文1 | 欧美精品欧美极品欧美激情 | 大吊一区二区三区 | 成年人免费网站在线观看 | 黄色三级视频在线观看 | 91尤物视频在线观看 | se94se欧美 | 欧美亚洲另类在线 | 激情福利社| 国产在线播放一区二区三区 | 中文字幕天堂av | 亚洲国产精品免费 | 老色批影视 | 色综合视频 | 麻豆传媒在线观看 | 丰满的人妻hd高清日本 | 18禁网站免费无遮挡无码中文 | 丰满人妻熟妇乱偷人无码 | 中文字幕mv | 国产精品入口免费 | 国产成a人亚洲精v品无码 | 毛片久久久久 | 91免费片| 17c精品麻豆一区二区免费 | 色精品| 国产乱子伦农村叉叉叉 | 中文字幕五码 |