GoogleチャートAPIでX軸に日付を使うには?
GoogleチャートAPIを使用して、X軸の値が月の日数であるようにチャートをプロットする方法はありますか?
同じ頻度で提供されないデータポイントがあります。例えば
Date - Value
1/1/2009 - 100
1/5/2009 - 150
1/6/2009 - 165
1/13/2009 - 200
1/20/2009 - 350
1/30/2009 - 500
各データポイントを1ヶ月間の時間による相対距離で区切るチャートを作りたいのです。これはエクセルでできますが、Googleチャートで計算し表示するにはどうしたらよいでしょうか?
その他、Googleチャートに似たフリーソリューションや、ASP.NETで使えるフリーライブラリも歓迎します。
37
3
私の ReHash Database Statistics チャートでこれを行いました(ただし、日付は等間隔になっているので、正確にこれを行うことを示すものではありません^^;)。
まず、全体期間を求めます。これはチャートの全体幅に相当します。これを行うには、最も古い日付と最も新しい日付を引きます。私はUnix-epochタイムスタンプを使うのが好きです。整数であり、この方法で比較しやすいからです。
さて、データをループしてみましょう。各日付について、その日付が最初から始まっている期間全体における パーセンタイル を求めます(つまり、最も古い日付が0、最も遅い日付が100です)。各日付について、まず、データセット内の最も古い日付から現在の日付の距離を計算したいと思います。基本的には、quot;スタートからどれくらい離れているのか、ということです。そこで、現在の日付から最も古い日付を引きます。次に、パーセンタイルを求めるために、現在の日付の距離を全体の期間で割り、100を掛けて小数点を切り捨てたり丸めたりすると、積分のx-座標**が得られます。
という具合に簡単です。x値は0(グラフの左側)から100(右側)までの範囲で、各データポイントは、その真の時間的距離のそれぞれの開始点からの距離に位置します。
何か質問があれば、お気軽にどうぞ。ご希望であれば、pesudocodeやPHPを掲載することも可能です。
アドバンストグラフでできるようになったようです。
http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html
これはGoogleチャートで非常に簡単に行えますが、アプリケーションがラベルを計算する必要があります。
chxl chart x label パラメータが必要です。次の例では、Y軸に50段階の数値、下に日付をラベル付けしています。