折れ線グラフを作っていたのですが、グラフのy軸に当たる場所の値を変更してもグラフが変化しません。
値によってグラフを変化させるにはどうしたらいいでしょうか?
プログラムのコードです。
1行目 <img src="http://chart.apis.google.com/chart?cht=lc
2行目 &chs=300x125
3行目 &chg=20,50,1,5
4行目 &chxt=x,y
5行目 &chxl=0:|1|2|3|4|5|6|7|1:|0|150|300
6行目 &chd=t:10,10,14,30,80,40,100
7行目 &chm=s,FF9904,0,-1,6" />
<!--5行目の0|150|300というところを変えてもグラフが変化しません-->
実際のグラフの画像です。
http://screencast.com/t/4BEYDyrbnhCf
Google Chart API では、Y軸の座標は"0~100"で固定です。
Y軸に書かれているラベル(chxl/chxp/chxrで設定)に関係無く
chdのデータはY軸下端を0~上端を100としてプロットされます。
実際、貴方のソースコードに書かれている
チャートデータ(chd)の最後の値(100)に対応するプロットは
必ずY軸の最上端に位置していることがお判りいただけると思います。
よって、実際にY軸のラベルとプロットするYの値に正しい関係を
持たせるためには、予めYの値を、表示するY軸のラベルに対応した
0~100のスケールに変換した上で、chdとして記述する必要があります。
Google Chart APIについては
下記のウェブサイトを勉強されると良いかと思います。
http://www.ajaxtower.jp/googlechart/
あうう、間違えまくってますので、書き直します。
2012/09/08 04:04:30-----
【計算方法】※Y軸は単純な線形軸とします。
・プロットしたいデータ Y
・Y軸の下端の値 Y1
・Y軸の上端の値 Y2
・記述すべきチャートデータ chd
→ chd = (y - y1)/(y2-y1)*100
例) y = 10,10,14,30,80,40,100 でY軸が 0~300
chd = 3.33,3.33,4.67,10,26.67,13.33,33.33
例) y = 10,10,14,30,80,40,100 でY軸が 0~1000
chd = 1,1,1.4,3,8,4,10
ありがとうございます。
2012/10/01 15:11:53参考にさせていただきます。