メイン

2007年07月01日

技術系記事は

はてなで書いてるです。

http://d.hatena.ne.jp/sotarok/

こっちの情報ちょと古いかもです?
わからないです

2007年04月07日

Pear::Services_AmazonECS4

熱すぎる。

2007年03月07日

PEAR::Image_Graphによるローソク足描写

ちょっと作ってたのでご紹介。


データベースに保存されている情報は

1. 証券コード
2. 日付
3. 市場
4. 始値
5. 高値
6. 安値
7. 終値
8. 出来高


です。

指定された証券コードに対して日付順でデータを取り出し、


// もちろん $row にはDBから読み出したデータが入ってる。
// 今回はPEAR::DBも使ってみた。
foreach ($row as $key => $val) {
    // addPoint Methodを使って描写ポイントを。
    $Dataset->addPoint(
        date('y-m-d', strtotime($key)),
        array(
            'min'   => $val['yasu'],
            'open'  => $val['hajime'],
            'close' => $val['owari'],
            'max'   => $val['taka']
        )
    );
    
    // maxとminを置き換える(y軸描写範囲を決めるため)
    if( $i== 0 ){
        $minimum = $val['yasu'];
        $maximum = $val['taka'];
    } else {
        if($minimum > $val['yasu'] && $val['yasu'] != 0) $minimum = $val['yasu'];
        if($maximum > $val['taka']) $maximum = $val['taka'];
    }
    $i++;
    if ($i == 100) break; // 描写数でbreak(このへん超手抜き)
}


今回ちょっと困ってたのが、
「ファイル名を指定して保存」するのをどうするか。。。

デフォルトの


$Graph->done();


を使うと、ブラウザ上には表示できるけど(そういうヘッダを送信しちゃいます)、
名前をつけて保存ができない。

というわけで、


$out = $Graph->done(
    array(
        'tohtml' => true, 
        'border' => 1, 
        'filename' => 'example.jpg',
        'filepath' => './graph/',
        'urlpath' => './graph/' 
    )
);

こうしました。

こうすれば、graph/ディレクトリに保存されます(もちパーミッションの設定が必要。

tohtml を true に設定しているので、
返り値は、HTMLタグです。(<img src= ... >)

PHPで画像生成ができるようになるとすごい便利。

一応実装はコチラ↓
http://labs.sotaro-k.com/stock.php
※自宅サーバなので、サーバ起動してるときしか見れません。
※もしかしたらリンク切れになってるかもしれません。

2007年01月10日

PEAR:Image_Graph

こんなことができる。

http://labs.sotaro-k.com/graph.php