2013-02-18 13 views
1

我使用jfreechart繪製關於計算機中操作記錄器的圖形。繪製一個塊,而不是jfreechart中的點

例如: 1:2012/09/39/28 6點55分37秒 8秒0x1c0c762 終端 --geometry = 134x35 --display:0.0 --role = TERMINAL-0x10591b0-16869-1343137248 - 終端「 - 終端 - 終端@ akagi:〜」 2:2012年/ 09/39 /終端 - 終端「 - 顯示菜單欄 - 顯示邊界 - 隱藏工具欄 - 28 6點55分41秒 8秒0x1600313 /usr/lib中/ XFCE4/notifyd/XFCE4-notifyd 「XFCE4-notifyd」, 「XFCE4-notifyd」 「XFCE4-notifyd」

現在,我可以繪製每一點就像(2012/09/39/28 06:55:37,終端),scilicet:x軸是2012/09/39/28 06:55:37,Y軸是:終端(我使用1來呈現終端,就像終端一樣的其他命令。 .. 2:/ usr/lib中/ XFCE4/notifyd/XFCE4-notifyd等...)

但我需要的是繪製的方塊,如:

終端1:_ __ _ __ _ _ _S ||||||

/usr/lib中/ XFCE4/notifyd/XFCE4-notifyd2:_ __ _ __ _ __ _ ___ _S ||||||

COM 3:_ __ _ _S ||||| (S:開始,例如:2000/12/12 09:22:10開始) ..... (當第一個命令結束時,另一個會開始,我只能開始,這意味着後命令是一個命令的結束時間)

但:1:S 2:S 3:S

這裏的一些代碼給你。

private XYDataset createDataset() { 

    Calendar precal; 
    Calendar postcal; 

    this.flags = modelfocus.getListflag(); 
    commands = modelfocus.getListCommand(); 
    DateFormat formatedate = new SimpleDateFormat("yyyy/MM/ww/dd HH:mm:ss"); 
    precal = Calendar.getInstance(); 
    postcal = Calendar.getInstance(); 

    for (int i = 0; i < countCom; i++) { 
     this.series[i] = new TimeSeries(commands.get(i)); 
    } 

    for (Focus listTxt : modelfocus.getList()) { 
     try { 
      Date d = new Date(); 
      d = formatedate.parse(listTxt.date2String()); 
      System.out.println(d); 
      precal.setTime(d); 
      //postcal.setTime(); 
     } catch (ParseException e) { 
      System.out.println("Can't change this date"); 
      e.printStackTrace(); 
     } 
     String eachCmd = listTxt.getCommand(); 
     for (int i = 0; i < countCom; i++) { 
      if (eachCmd == commands.get(i)) { 
       series[i].addOrUpdate(new Second(precal.getTime()), 
         flags.get(i)); 
      } 
     } 

    } 
    TimeSeriesCollection dataset = new TimeSeriesCollection(); 
    for (int i = 0; i < countCom; i++) { 
     dataset.addSeries(this.series[i]); 
    } 
    return dataset; 
} 

請能有人給予幫助解決這個問題,非常感謝你。

回答

1

如此example所示,您可以更改用於呈現時間序列值的Shape。 A Rectangle如下所示。

r.setSeriesShape(0, new Rectangle(-4, -4, 9, 9)); 

image

+0

確定。我改變了解決問題的方法。我使用甘特圖。但您的信息對我仍然有幫助。謝謝^^ – WUJ 2013-03-05 14:23:17

相關問題