2012年8月16日 星期四

心得 Flot 畫圖, 參數設定

以下介紹一些使用 Flot 畫趨勢圖的一些心得
 首先 繪圖函式可以簡單的如下,設定三個變數:
          $.plot( $("#drawdiv") , DATAObj, Setting );

  • drawdiv: 要繪圖的 tag 
  • DATAObj: 繪圖的資料來源,這裡有他的規定的格式 
  • Setting: 其他變數設定,包含X軸、Y軸,滑鼠事件監聽等等  

----------------------------------------------------

 $("#drawdiv") : 

           這裡要注意,記得div 要設定好長度和寬度就好

 DATAObj: 

            一般設定的話, 將外部物件 datasets 傳入即可, label 是在圖形上顯示的文字說明


var datasets =
        {"objA": {"label":"測試物件1","data":[[1336603200000,55],[1336533600000,94]]},
 "objB": {"label":"測試物件2","data":[[1336603200000,77],[1336533600000,88]]},
        "objC": {"label":"測試物件3","data":[[1336603200000,21],[1336533600000,21]]}};


顯示如圖





         但若要設定個別設定線段的話 就要修正data 的地方, 如圖設定
         測試物件一為線段、測試物件二為直條圖、測試物件三為點
          $.plot( $("#drawdiv") ,

                   {  data: datasets.objA.data,
              label:datasets.objA.label,
              lines: { show: true}
           },
           {  data: datasets.objB.data,
              label:datasets.objB.label,
              bars: { show: true , barWidth: 15000000}
           },
           {
              data: datasets.objC.data,
              label:datasets.objC.label,
              points: { show: true, fill: true ,fillcolor: null},
              lines: { show: false }
           }]

                     , Setting ); 






Setting:


簡單設定如下, Y軸設定加上 單位 "unit",
                            X軸設定格式是時間、時間的格式、最大時間、最小時間、時間間隔,
                            series: 整體設定顯示為線段、但data部份中有指定的話以data指定的為優先
                            grid: 這裡設定事件滑鼠移動事件的開啟與否


 $.plot( $("#drawdiv") , DATAObj,
                       { yaxis: { min: 0 , 
                         tickFormatter: function(val){ 
   return val + "unit";
  }
},
  xaxis: { 
          mode: "time" ,
 timeformat: " %0m/%0d %H:%M",
min:  1336602600000,
 max:  1336535600000,
 minTickSize: [4, "hour"]
},
series: {
   lines: { show: true }
 },
grid: { hoverable: true, clickable: true }
    }
           );









 參考: flot API + 自己使用心得

心得 java 建立檔案

舉例來說要建立一個檔案 "C:/a/b/test.txt"


java 的指令如下:

File f = new File("C:/a/b/test.txt");
f.createNewFile();



但有可能 資料夾 "C:/a/b/" 不存在, 所以就要先確認資料夾是否存在,不存在的話要建立資料夾,就改寫為



File f = new File("C:\\a\\b\\test.txt");
f.getParentFile().mkdirs();   // 要退到上一層在建立資料夾
f.createNewFile();





 參考: How to create a file in a directory in java? , stackoverflow.com

2012年7月13日 星期五

摘要: Java 取得 執行cmd 程式 後的文字,以 dir 為例

以下紀錄一下 :
利用 java Application 執行 cmd 的語法

這個範例是呼叫 dir C:\\windows, 也就是列出 c:\\windows 下的所有檔案
我稍微修正一下列印每行的回傳值,參考來源是列印每個字元


import java.io.IOException;
import java.io.InputStream;
public class ExecuteDOSCommand {
public static void main(String[] args) {
final String dosCommand = "cmd /c dir /s";
final String location = "C:\\WINDOWS";
try {
final Process process = Runtime.getRuntime().exec(
dosCommand + " " + location);
final InputStream in = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null){
System.out.print(strLine);
} } catch (IOException e) {
e.printStackTrace();
}
} // end main
} // end class


參考:Execute DOS Commands from a Java Program

2012年7月4日 星期三

轉貼 jquery ui 外掛 Timepicker

jquery ui 中有一個功能是可以選取日期 Datapicker 的功能,但是若要詳細到時間的話就沒有辦法了,Google 一下後 找到這個 外掛 剛好可以達成這個功能 timepicker.


參考: http://trentrichardson.com/examples/timepicker/

2012年6月26日 星期二

轉貼 javascript minify and beautifer

偶爾會使用到xxx.min.js 的javascript 檔案, 一直在想要怎麼製作,原來線上就有編輯的功能, 如 : Online Javascript Compression Tool ,優點應該只是縮小檔案容量。

不過有 min 當然也有還原的程式, 如 http://jsbeautifier.org/