[[20220701004729]] 『散布図を色別に分けたい』(たなっぺ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『散布図を色別に分けたい』(たなっぺ)

以下のようなデータがあります。

種類,値,番号
A,1,1
A,6,2
A,4,3
B,8,1
B,5,2
B,9,3
C,7,1
...

番号を横軸、値を縦軸にして散布図を描きたいです。
また、種類ごとに色を変えたいです。

以下ページの#14~のように、グラフの形を移すことは避けたいです。
(パワークエリを使っているのと、データが複雑なのです。。
パワークエリとパワーピボットは不慣れですがなにかわかりやすいページがあれば使えそうです。)
(BIツールだと簡単に行けそうな気がしますが、Excelの弱点でしょうか。)
https://hitorimarketing.net/tools/grouped-scatterplot.html

よろしくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


要するに、種類ごとに系列を分ける方法ということですね?

データの指定を逐一しなくて済むので
参照サイトのような方法は、私には簡単な手法に映ります。

あなたにとってこれが簡単でないとすると、
「データの選択」で、それぞれの種類ごとに系列データを指定すればよい、
ということになるでしょう。
何を求めていますか?

>(BIツールだと簡単に行けそうな気がしますが、Excelの弱点でしょうか。)
そう思っているのであれば、そのBIツールとかいうものを導入されたらいかがですか?
(γ) 2022/07/01(金) 06:27


ああそうか、系列に分けずにということを望んでいるんでしょうか?

各ポイントごとにマーカーを塗り分けることになりますが、手間がかかり過ぎます。
(既定の「要素を塗り分ける」というのは、ランダム指定のようです。)

また、凡例のことも考えると、系列を分けるのが自然でしょう。

層別に分析する場合の典型手法が紹介されているわけですから、それらを利用するのが楽だと思いますよ。
(γ) 2022/07/01(金) 07:12


 ピボットグラフだとグラフの種類で散布図を選べないので、

 ピボットテーブルを作ります。
 列:種類 行:番号 Σ値:値

 ピボットテーブルを選択してコピーして、
 別なところで、 形式を選択して貼り付け=>リンク貼り付け

 あとは普通にグラフつくってください
(´・ω・`) 2022/07/01(金) 09:03

 ちなみに、パワークエリで
 let
    ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
    変更された型 = Table.TransformColumnTypes(ソース,{{"種類", type text}, {"値", Int64.Type}, {"番号", Int64.Type}}),
    ピボットされた列 = Table.Pivot(変更された型, List.Distinct(変更された型[種類]), "種類", "値")
 in
    ピボットされた列

 なようにして読み込めば、読み込み先を選択して散布を図作れます
(´・ω・`) 2022/07/01(金) 09:22

PowerQueryの質問だったのですか。飛んだ回答をしてしまったのかな。😥

(γ) 2022/07/01(金) 10:19


>以下ページの#14~のように、グラフの形を移すことは避けたいです。

何度読み返しても意味がわかりまぜん。
こういうことでしょうか?

 Sub test()
    Dim ws As Worksheet
    Dim r As Range, a As Range
    Dim cht As Chart
    Dim ser As Series

     Set ws = ActiveSheet
     Set r = ws.Cells(1).CurrentRegion
    r.CurrentRegion.Subtotal 1, xlSum, 2
    Set r = r.CurrentRegion.Columns(2)

     Set cht = Worksheets.Add.ChartObjects.Add(30, 10, 300, 200).Chart
     cht.ChartType = xlXYScatter
    For Each a In r.SpecialCells(xlCellTypeConstants, xlNumbers).Areas
        Set ser = cht.SeriesCollection.NewSeries
        ser.Values = a
        ser.XValues = a.Offset(, 1)
        ser.Name = "=" & a(1, 0).Address(, , , True)
    Next

    r.SpecialCells(xlCellTypeFormulas).EntireRow.Delete

 End Sub

(マナ) 2022/07/01(金) 21:47


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.