Google Chart APIで質問です。

折れ線グラフを作っていたのですが、グラフのy軸に当たる場所の値を変更してもグラフが変化しません。
値によってグラフを変化させるにはどうしたらいいでしょうか?


プログラムのコードです。
1行目 <img src="http://chart.apis.google.com/chart?cht=lc
2行目 &amp;chs=300x125
3行目 &amp;chg=20,50,1,5
4行目 &amp;chxt=x,y
5行目 &amp;chxl=0:|1|2|3|4|5|6|7|1:|0|150|300
6行目 &amp;chd=t:10,10,14,30,80,40,100
7行目 &amp;chm=s,FF9904,0,-1,6" />
<!--5行目の0|150|300というところを変えてもグラフが変化しません-->

実際のグラフの画像です。
http://screencast.com/t/4BEYDyrbnhCf

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/09/13 14:55:03

ベストアンサー

id:Silvanus No.1

回答回数180ベストアンサー獲得回数71

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/

id:Silvanus

あうう、間違えまくってますので、書き直します。
-----
【計算方法】※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/09/08 04:04:30
id:tsukasa343

ありがとうございます。
参考にさせていただきます。

2012/10/01 15:11:53

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません