OpenLaszloアドバンスド・テクニック(6) Page 2/4
リアルタイム株価チャート、ついに完成!
ネットエイト十河 学
2006/9/6
■株価データをJSPから取得
それでは、前回まで固定データを設定していた「当日株価チャート」をJSPで動的に作成したXMLデータから取得するよう変更します。stockchart.lzx(株価チャートのメイン・アプリケーション)の47行目から固定で定義している次のコード
<dataset name="stockprice"> |
を次のように置き換えます。
<dataset name="stockprice" type="http" src="jsp/stockprice.jsp" |
type属性にhttpを指定し、src属性にJSPのURLを指定することで、JSPが生成したXMLデータをhttp経由でstockpriceデータセットへ読み込むことができます。request="true"を指定することでコンポーネントの初期化時に自動的にデータを取得します。
リクエストのタイミングを自分で指定したいという場合であれば、request="false"としておき、適当なメソッド内からstockprice.doRequest()をコールします。
テスト用に、complexchart.lzx(第5回のリスト6)内の<dataset name="stockprice" …… >も同様に置き換えて、簡単にローソク足/出来高チャートのテストができるように設定します。ブラウザからstockchart.lzxとcomplexchart.lzxにアクセスして、リロードごとにランダムに生成されたデータのグラフが作成されることを確認してください。
■ローソク足クラスの作成
それでは、まず1つのローソク足を表示するためのcandleMarkerクラスを作成します。ファイル名はクラス名に合わせてcandleMarker.lzxとします。
ローソク足は第3回「リアルタイム株価チャートの基盤フレームを作る」の図2に表示されていますので、ローソク足の意味を知りたい方はこちらでもう一度おさらいしておきましょう。
このクラスは始値、終値、高値、安値、そして倍率を調節するためのプロットエリアのスケールをプロパティとして保持し、陰陽とヒゲを表します。
それではcandleMarker.lzxという名前で新しいファイルを作成し、リスト2のようなクラスを作成します。クラス初期化時にrenderMarker()を呼び出し、与えられた値から、陰陽の色と高さ、ヒゲの長さを設定しています。このクラスではlineがヒゲを、boxが陰陽の色と始値、終値を表しています。
このローソク足がプロットされる点は高さと幅の中心点であることから、高さは始値、終値の差に設定し、ヒゲはこのビューよりはみ出て表示されるように作成しています。candleMarkerの背景色は黒にし、boxを1ピクセルずつ内側に配置することで、枠を表現しています。boxの色は陰陽によって白か黒をrenderMakerメソッド内で設定しています。またマウスオーバー時には、各値をツールチップで表示できるよう、マウスイベントを取得して、ツールチップに各値を表示する処理を追加しています。
<library> |
リスト2 ローソク足を表示するためのcandleMarkerクラス(candleMarker.lzx) |
2/4 |
INDEX |
||
OpenLaszloアドバンスド・テクニック(6) リアルタイム株価チャート、ついに完成! |
||
Page1 はじめに JSPで株価データをランダム生成 |
||
Page2 株価データをJSPから取得 ローソク足クラスの作成 |
||
Page3 チャートスタイルの設定 ローソク足をチャート上に描画 |
||
Page4 当日株価チャートの自動更新 当日株価データをjspから取得 リアルタイム株価チャートの完成 |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|