web-dev-qa-db-ja.com

x軸に日付を含むスプレッドシートで図を作成するにはどうすればよいですか?

私は最近、双子の男の子の父親になりました。当然、計量や測定はたくさんあり、これらの数値をスプレッドシートに記録します。私はOpenOffice.orgCalcを使用しています(ただし、Microsoft Excel/GoogleDocs/AnyOtherSpreadsheetのソリューションを利用できます)。また、それらの成長を視覚的に解釈したいと考えています。

  1. 通常の折れ線グラフはこれをうまく行うはずです。ただし、測定は定期的に行われるわけではなく、最初の2週間は毎日測定されましたが、その後は毎週行われ、3週間のクリスマス休暇があります。しかし、折れ線グラフを作成しようとすると、各データポイント間の距離は同じになります

スプレッドシートに日付を含む折れ線グラフを作成するにはどうすればよいですか。x軸の各データポイント間の距離は、各測定間の日数に応じて正しくなりますか?

2:3つの異なる測定値があります。グラム単位の体重、センチメートル単位の身長、センチメートル単位の頭囲。測定がある日付ごとに、重量が常に測定されます。しかし、身長と頭囲はたまにしか測定されません。そして、述べたように、彼らは双子です。つまり、6つの異なるデータストリームです。

見た目がかっこいいだけでなく、理解しやすいように、すべてのデータを1つの図に表示する方法についての提案はありますか?

3:サンプルデータ:

DATE          | 13.oct | 15.oct | 22.oct | 24.oct | 10.nov | 16.dec | 11.jan
Tinus weight  | 2360 g | 2165 g | 2250 g | 2305 g | 2930 g | 4295 g | 5170 g
Adiran weight | 2340 g | 2185 g | 2270 g | 2305 g | 3055 g | 4555 g | 5380 g
Tinus height  | 45 cm  |        | 45 cm  | 48 cm  |        | 55 cm  | 57 cm
Adrian height | 44 cm  |        | 44 cm  | 48 cm  |        | 55 cm  | 58 cm
Tinus head    | 33 cm  |        | 33 cm  | 34 cm  |        | 38 cm  | 38 cm
Adrian head   | 33 cm  |        | 33 cm  | 34 cm  |        | 38 cm  | 39 cm
6
runaros

スプレッドシートに日付を含む折れ線グラフを作成するにはどうすればよいですか。x軸の各データポイント間の距離は、各測定間の日数に応じて正確です。

Excelの場合:

チャート>オプション>軸>主軸(X)>タイムスケール。

1
Toc

Excelでやりたいことをするための私のアドバイスは次のとおりです。

  • すべての日付を、「2009年10月13日」などのExcelが認識できる形式に変更します。すべてが2010年であると想定されないように、必ず年を含めてください。

  • 単位(「g」と「cm」)をデータセルから削除して、Excelがそれらを数値として処理できるようにします。単位を各データストリームのラベルに配置するか、Y軸ラベルに配置します(詳細は後で説明します)。

  • 1つのデータストリームにデータが含まれ、他のデータストリームに含まれない日付がある場合は、データがないものに値を入力します。最後の値と同じか、最後の値と次の値の間の補間値です。グラフがこれらが0値のポイントであると考えないようにする他の方法がわかりません。

  • チャートを作成するには:

    • [挿入/グラフ]を選択します。

    • X-Y散布図のグラフタイプと、曲線で結ばれた点のあるグラフサブタイプを選択します。これにより、ポイントのX間隔が必要に応じて距離に応じてスケーリングされ、ポイントが滑らかな線で接続されて、傾向が見やすくなります。

    • [ソースデータ]で、[シリーズ]タブを選択し、データストリームごとにシリーズを追加します。シリーズごとに、名前は行のラベル(「Tinusweight」など)を指し、X値は日付の行を指し、Y値はその行のデータ(例: Tinusの体重の記録値)。データの行を選択するときは、離れた列(列BZなど)まで選択して、さらにデータを入力すると、グラフが拡大することを認識します。

    • [完了]をクリックします。これで、すべてのデータを含むグラフが作成されますが、視覚的な欠陥がいくつかあります。

  • グラフの太さの線は見栄えがよいはずですが、cmの数値はグラムの数値よりもはるかに小さいため、すべての高さと頭のデータが下部を抱いています。これを修正するには、下の各データ行を順番に右クリックし、[データ系列の書式設定]を選択し、[軸]タブを選択して、[2次軸]を選択します。これで、右側にcmのY軸が追加され、cmの線がそれに合わせて拡大縮小されます。

  • 6つのデータ行をそれぞれ右クリックし、[データ系列の書式設定]を選択し、[パターン]タブを選択して、すべてが見栄えが良くなるまで、線と点の色、スタイル、太さを試してみます。たとえば、Tinusにすべての線に破線と正方形を使用させ、Adrianにすべての線に点線と円を使用させ、太さ、高さ、見出しの線にそれぞれ独自の色を持たせることができます。

  • グラフの周囲の空白のどこかを右クリックし、[グラフのオプション]を選択して、[タイトル]タブを選択します。値(Y)軸には、「重量(g)」を入力します。 2番目の値(Y)軸には、「高さと頭囲(cm)」を入力します。

  • これで、クールで読みやすいグラフができあがりました。

4
Isaac Moses

今ではあなたの男の子はすでに学校に通っていると思います。しかし、あなたがまだ彼らの成長を記録しているなら(または他の同様の問題のために)、私は悪くない解決策を持っています。これは、あなたの説明とサンプルデータに基づいて作成したチャートの例です。

enter image description here

このグラフの例では、2本の線が男の子の体重を示しています。また、列には高さと頭の長さが表示されます。また、頭と体の比率も確認できます。一定の間隔で測定を行っていない場合でも、x軸の日付は正しい縮尺になっています。チャート上にマウスを置くと、測定ポイントの情報を表示することもできます。

Excelにいくつかのコードがあることがわかるように、これは、FunfunExcelアドインを使用してこのサンプルグラフを作成したためです。このアドインを使用すると、JavaScriptをExcelで直接使用できるため、HighCharts.jsやChart.jsなどのライブラリを利用してこの種のグラフを簡単に作成できます。

データについては、スプレッドシートと同じように保存できます。ただし、日付の形式を少し変更する必要があります。 dd/mm/yyyyまたはdd-mm-yyyyとして作成することをお勧めします。これは、以下のコードを使用して日付を解析しているためです。スプレッドシートでJavaScriptの日時形式に変換します。

for(var i=1;i<data[0].length;i++){
    date.Push(Date.UTC(parseInt(data[0][i].split('.')[2]),parseInt(data[0][i].split('.')[1])-1,parseInt(data[0][i].split('.')[0])))
  }

Funfunには、JavaScriptコードと結果を調べることができるオンラインエディターもあります。以下のリンクで、サンプルチャートの作成方法の詳細を確認できます。

https://www.funfun.io/1/#/edit/5a4caabd06791937c4134885

オンラインエディタで達成した結果に満足したら、上記のURLを使用して結果をExcelに簡単に読み込むことができます。ただし、もちろん、最初に、[挿入]-[Officeアドイン]を使用して、FunfunアドインをExcelに追加する必要があります。これは、例をExcelにロードする方法を示すスクリーンショットです。

enter image description here

enter image description here

これがまだあなたに役立つことを願っています:)

開示:私はFunfunの開発者です

2
Chuan Qin

Tocの答え グーグルに正しい用語を教えてくれました(具体的には " OpenOffice Time Scale ")、そしてヒットの1つがOpenOfficeの答えをくれました。

OpenOfficeの解決策は、折れ線グラフの代わりにxy-chartを選択することでした。

1
runaros

この問題に対するGoogleスプレッドシートソリューションを探している人のために(私がそうであったように):

挿入->チャート...->チャート->トレンド->タイムライン(2番目の下)

0
kevinmicke