質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google ドキュメント

Google ドキュメントは、Google社が提供している文書作成ツール。Googleアカウントがあれば無料で利用できます。ブラウザ上で文書作成を行い、複数人での同時編集がで可能。スマホやタブレットでも利用できる他、オフラインでの編集もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

5009閲覧

Googleスプレッドシート上にて複数要素を1つのグラフにまとめた散布図の作り方について

adk

総合スコア12

Google ドキュメント

Google ドキュメントは、Google社が提供している文書作成ツール。Googleアカウントがあれば無料で利用できます。ブラウザ上で文書作成を行い、複数人での同時編集がで可能。スマホやタブレットでも利用できる他、オフラインでの編集もできます。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2021/04/06 01:46

編集2021/04/06 04:04

現状、Googleスプレッドシート上にて下記のようにX、Yという要素を持った点A、B、Cを管理しています
これらの値は下記のようになっています。

A        B       C
X    Y    X    Y    X    Y
0.0044 -0.0073 0.0041 -0.0074 0.0041 -0.0083
0.0043 -0.0075 0.0042 -0.0073 0.0043 -0.0080

この情報を1つのグラフ上に散布図にまとめたいです。

1.散布図はXが横軸、Yが縦軸に取られたものであること
2.点A、B、Cはグラフ上でそれぞれ色分けされていること

これをGoogleスプレッドシートのカスタムで行うことは可能でしょうか。

もしも方法がないならApps Scriptで上記情報を

A~CのX AのY   BのY   CのY
0.0044 -0.0073
0.0041     -0.0074
0.0041         -0.0083
0.0043 -0.0075
0.0042     -0.0073
0.0043         -0.0080

のような形にして散布図化するしかないかなと思っています。
この形にして散布図を作ると下記のような散布図ができ、これが理想形に近いです。

イメージ説明
どうかアドバイスをよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FromMZ1500

2021/04/06 03:56

グラフ( https://support.google.com/docs/answer/9143294 )を使うのではなく、セルの値をソートする、という処理でしょうか。Xに同じ値が重なると散布図的な配置は無理ですし。しかし、上の表、「A~CのX」0.0044~0.0043はどういう理屈で並んでるんでしょうか?
adk

2021/04/06 04:12

質問意図が分かりづらかったようなので内容を更新いたしました。 XとYの値を軸に持つ、A、B、Cの点が色分けされた散布図を作るのが最終目標です。 「A~CのX」は点A、B、CのXの値を1列にまとめたものです。 つまり元は A        B       C X    Y    X    Y    X    Y AX1   AY1   BX1    BY1   CX1  CY1 AX2   AY2   BX2    BY2   CX2  CY2 と並んでいた値を A~CのX AのY   BのY   CのY AX1   AY1    (空欄)  (空欄) BX1   (空欄)   BY1   (空欄) CX1   (空欄)   (空欄)  CY1 AX2   AY2    (空欄)  (空欄) BX2   (空欄)   BY2   (空欄) CX2   (空欄)   (空欄)  CY2 と並べました。
guest

回答1

0

ベストアンサー

スクリプトで書くとこうですね。

GAS

1function layoutDataForGraph(rangeDataWArray) { 2 var returnData = []; 3 for (row = 0; row < rangeDataWArray.length; row++) { 4 var row_data_A = ['', '', '', '']; 5 var row_data_B = ['', '', '', '']; 6 var row_data_C = ['', '', '', '']; 7 row_data_A[0] = rangeDataWArray[row][0]; 8 row_data_A[1] = rangeDataWArray[row][1]; 9 row_data_B[0] = rangeDataWArray[row][2]; 10 row_data_B[2] = rangeDataWArray[row][3]; 11 row_data_C[0] = rangeDataWArray[row][4]; 12 row_data_C[3] = rangeDataWArray[row][5]; 13 returnData.push(row_data_A); 14 returnData.push(row_data_B); 15 returnData.push(row_data_C); 16 } 17 return returnData; 18} 19

保存しておいて、セルに
=layoutDataForGraph(A3:F4)

A3:F4 は 上の例でデータ部分のみの範囲を指定。
0.0044 -0.0073 0.0041 -0.0074 0.0041 -0.0083
0.0043 -0.0075 0.0042 -0.0073 0.0043 -0.0080

で、どうでしょう?

投稿2021/04/06 07:34

FromMZ1500

総合スコア496

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

adk

2021/04/06 07:57

やはりGASでこの方法でやるしか方法はなさそうですね。 スクリプトまで考えてくださってありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問