40

X 軸の値が 1 か月の日数になるように、Google チャート API を使用してチャートをプロットする方法はありますか?

同じ頻度で提供されていないデータ ポイントがあります。例えば:

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 で使用できる無料ライブラリも歓迎します。

4

5 に答える 5

11

私は同じ問題を抱えていました.Googleチャートで散布図を見つけました.それはまさに必要なことを行います.

これが私が最終的に得たコードです(彼らのコードを出発点として取り上げました):

function drawVisualization() {
    // Create and populate the data table.
    var data = new google.visualization.DataTable();
    data.addColumn('date', 'Date');
    data.addColumn('number', 'Quantity');
    data.addRow([new Date(2011, 0, 1), 10])
    data.addRow([new Date(2011, 1, 1), 15])
    data.addRow([new Date(2011, 3, 1), 40])
    data.addRow([new Date(2011, 6, 1), 50])


    // Create and draw the visualization.
    var chart = new google.visualization.ScatterChart(
        document.getElementById('visualization'));
    chart.draw(data, {title: 'Test',
                      width: 600, height: 400,
                      vAxis: {title: "cr", titleTextStyle: {color: "green"}},
                      hAxis: {title: "time", titleTextStyle: {color: "green"}},
                      lineWidth: 1}
              );
}

0 から月を数えるように見えることに注意してください。つまり、1 月は 0、2 月は 1、...、12 月は 11 です。

于 2011-10-30T19:36:02.300 に答える
8

高度なグラフでこれを実行できるようになりました。

http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html

于 2010-04-12T20:03:57.993 に答える
0

ハイ。私もあなたと同じような考えです。ラベルが相互に上書きされる問題は予測できますが、考えられるアプローチは 2 つだけです。

1) 形式 (月/火、月/火、1 月 1 日/2 月 1 日、1 月 1 日、2 月 29 日、2010 年 2 月 14 日など) に応じて、各日付の文字数を計算し、ラベルの数を計算します。グラフの幅全体に収まることができます (これは、ピクセル単位の文字幅 (固定フォントの場合はより簡単)、またはいくつかの試行錯誤を伴う場合があります)。

もちろん、ラベルは任意のデータと直接一致する可能性があります。

2) 複数の X 軸ラベルを使用し、日付を垂直に配置します。

于 2010-10-23T09:59:42.973 に答える