サイバーセキュリティや人工知能(機械学習等)を中心に、最新技術を研究しています。
はじめに「ホームページに株価チャートを描画する方法を調べて欲しい」という依頼(お仕事)があったので、自分への備忘録の意味も兼ねて、ここでレポートしたいと思います。
GoogleChartAPI と GoogleChartTools株価の推移を表すローソク足チャートを描画するには、GoogleChartAPI と GoogleChartTools があります。
GoogleChartAPI でローソク足チャートを描画するそれでは、ローソク足チャートを描画してみます。
チャートの描画方法(ローソク足だけ)いずれのチャートも、全て img タグで描画しています。
<img src='http://chart.apis.google.com/chart?chs=500x300&cht=lc&chd=t0:0,9870,9700,9570,9230,9070,9360,9540,9270,9100,9550,9670,10270,10620,10810,10580,10730,10580,10770,10900,11180,0|0,10020,9850,10030,9500,9160,9500,9760,9500,9300,9630,9670,10350,10620,10860,10600,10960,10800,10840,11020,11200,0|0,9980,10030,9660,9230,9300,9940,9730,9500,9350,9550,10440,10500,11000,10940,10750,10950,10620,10980,10940,11700,0|0,10130,10030,10030,9710,9580,9940,9860,9510,9500,9840,10440,10500,11090,11020,11080,11030,10860,11180,11170,11730,0&chds=8900,12000&chxt=y,x&chxl=0:|8900|12000|1:|2013年6月3日|&chxs=0,666666,11,-1|1,666666,11,-1&chm=F,0044FF,0,,15' width='500' height='300' alt='ローソク足だけ'>それでは、順にパラメータの意味を説明していきます。
<img src='http://chart.apis.google.com/chart後はこの「おまじない」に続けて、
?
で各パラメータをつないでいきます。パラメータ | 記述例 | 説明 |
---|---|---|
chs | chs=500x300 |
チャートのサイズ(幅×高さ)。 width 属性と height 属性の値に一致させること。 |
cht | cht=lc |
チャートの種類 lc:折れ線グラフ |
chd | chd=t0:0,9870,... | データの指定(下記参照) |
chds | chds=8900,12000 | スケール(最小値、最大値) |
chxt | chxt=y,x | 表示する軸の指定 |
chxl | chxl=0:|8900|12000|1:|2013年6月3日| |
軸のキャプション(1軸につき2つずつ) 軸インデックス(0から):|最小側|最大側|で順に指定 |
chxs | chxs=0,666666,11,-1|1,666666,11,-1 |
軸のラベルスタイル 軸インデックス(0から),ラベル色指定,フォントサイズ,アラインメント |
chm | chm=F,0044FF,0,,15 |
マーカー指定( F でローソク足)(下記参照) |
'
で括って、続けて、width 属性、height 属性、alt 属性を記述します。chd=t0:
の部分。t0
は、データの何番目からローソク足のデータが始まるかを指定します。t0
になります。chm
パラメータの3番目のパラメータと連動するので注意が必要です。(後述)chm=F,0044FF,0,,15
となっていて、空欄を含めて5つの値が設定されています。F
0044FF
0
chd=t0:
の指定と同じ値を指定します。15
チャートの描画方法(ローソク足+出来高)これが「ローソク足+出来高」のチャートを描画している img タグです。
<img src='http://chart.apis.google.com/chart?chs=500x300&cht=bvg&chd=t1:566400,496100,709100,709000,869200,678900,605000,695000,759600,663800,1212600,637200,1063700,737000,1074200,804200,844300,896600,780400,1268000,-1|9870,9700,9570,9230,9070,9360,9540,9270,9100,9550,9670,10270,10620,10810,10580,10730,10580,10770,10900,11180,0|10020,9850,10030,9500,9160,9500,9760,9500,9300,9630,9670,10350,10620,10860,10600,10960,10800,10840,11020,11200,0|9980,10030,9660,9230,9300,9940,9730,9500,9350,9550,10440,10500,11000,10940,10750,10950,10620,10980,10940,11700,0|10130,10030,10030,9710,9580,9940,9860,9510,9500,9840,10440,10500,11090,11020,11080,11030,10860,11180,11170,11730,0&chds=0,4000000,7500,12000&chxt=y,x&chxl=0:|7500|12000|1:|2013年6月3日&chxs=0,666666,11,-1|1,666666,11,-1&chm=F,0044FF,1,,15&chbh=20,0,2&chco=FF0000' width='500' height='300' alt='ローソク足+出来高'>最初に「おまじない」があるのは同じで、
<img src='http://chart.apis.google.com/chartこの「おまじない」に続けて、
?
で各パラメータをつないでいきます。パラメータ | 記述例 | 説明 |
---|---|---|
chs | chs=500x300 |
チャートのサイズ(幅×高さ)。 width 属性と height 属性の値に一致させること。 |
cht | cht=bvg |
チャートの種類 bvg:棒グラフ |
chd | chd=t1:566400,... | データの指定(下記参照) |
chds | chds=0,4000000,7500,12000 |
スケール(最小値、最大値) ローソク足と出来高等を表示する場合は、出来高のスケール(最小値、最大値)とローソク足のスケール(最小値、最大値)の4つの値を指定します。 |
chxt | chxt=y,x | 表示する軸の指定 |
chxl | chxl=0:|7500|12000|1:|2013年6月3日| |
軸のキャプション(1軸につき2つずつ) 軸インデックス(0から):|最小側|最大側|で順に指定 |
chxs | chxs=0,666666,11,-1|1,666666,11,-1 |
軸のラベルスタイル 軸インデックス(0から),ラベル色指定,フォントサイズ,アラインメント |
chm | chm=F,0044FF,1,,15 |
マーカー指定( F でローソク足)(下記参照) |
chbh | chbh=20,0,2 |
棒グラフの幅とスペーシングの指定。 棒グラフの幅、棒グラフ同士の間隔、系統ごとの棒グラフの間隔、の順に指定。 |
chco | chco=FF0000 | チャート(棒グラフ)の色の指定。 |
'
で括って、chd=t1:
の部分です。t1
は、この後に続くデータの何番目からローソク足のデータが始まるかを指定します。t0
になりますが、t1
になります。chm
パラメータの3番目のパラメータと連動するので注意が必要です。(後述)chm=F,0044FF,1,,15
となっていて、空欄を含めて5つの値が設定されています。1
chd=t1:
の指定と同じ値を指定します。
チャートの描画方法(ローソク足+5日移動平均)これが「ローソク足+5日移動平均」のチャートを描画している img タグです。
<img src='http://chart.apis.google.com/chart?chs=500x300&cht=lc&chd=t1:-1,10126,10086,9972,9794,9640,9632,9572,9540,9564,9614,9714,9868,10168,10486,10726,10828,10852,10848,10848,11038,-1|0,9870,9700,9570,9230,9070,9360,9540,9270,9100,9550,9670,10270,10620,10810,10580,10730,10580,10770,10900,11180,0|0,10020,9850,10030,9500,9160,9500,9760,9500,9300,9630,9670,10350,10620,10860,10600,10960,10800,10840,11020,11200,0|0,9980,10030,9660,9230,9300,9940,9730,9500,9350,9550,10440,10500,11000,10940,10750,10950,10620,10980,10940,11700,0|0,10130,10030,10030,9710,9580,9940,9860,9510,9500,9840,10440,10500,11090,11020,11080,11030,10860,11180,11170,11730,0&chco=FF0000&chds=8900,12000&chxt=y,x&chxl=0:|8900|12000|1:|2013年6月3日|&chxs=0,666666,11,-1|1,666666,11,-1&chm=F,0044FF,1,,15,-1' width='500' height='300' alt='ローソク足+移動平均線'>基本的な考え方は、「ローソク足+出来高」と同じで、違うところは
cht=lc
と、chd=t2:
として、ローソク足のデータが2番目から始まることを指定して、chm=F,0044FF,2,,15
の3番目の値も、同様です。
記述に際しては、細心の注意をしたつもりですが、間違いやご指摘がありましたら、こちらからお知らせいただけると幸いです。