- 締切済み
エクセルによる分布グラフの作成方法を教えてください
例えばジムの会員の身長と体重の相関分布グラフのようなものを作成したいのです。 グラフの横軸が身長、縦軸が体重となり、両者のデータの交点に当該会員がプロットされるものを作成したいのです。 同種の質問は過去にもありましたが、残念ながら適切な回答は寄せられていないようです。 エクセルでは作成不可ならあきらめますので(^^;)それでも結構です。 明確な回答をお願いいたします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- anakujira
- ベストアンサー率39% (50/127)
No5さん言うように「会員ごとに系列を作成」して, グラフオプションで,データラベル,系列名のチェックです。 A,B列2行目から縦にデータを入れて,散布図を描いたら,B2→C2,B3→D3,B4→E4…とデータを移動して, y軸データの青い矩形を横に引っ張って描き直せば比較的楽かと思います。データ数にもよりますが。
- 2718281828
- ベストアンサー率36% (66/181)
VBAの回答が出たようですが、回答は出しておきます。 > 後からプロット別に会員名をひとつひとつ書き込んでいかねばなりません。 まあ、そういうことです。 > それを省略化するグラフ作成のウラ技的なものがないのでしょうか? VBAを使わない範囲では、以下の方法が考えられます。いくらか楽になりますが、決定的ではありません。 ・会員ごとに系列を作成する 凡例としてマークを表示すると、どのマークが誰か分かります。 これがてっとり早くて楽な方法です。マークを大きめでカラフルにすれば、見栄えも悪くありません。会員名がプロット点から離れてしまうこと、会員の数が多いと分かりにくくなるのが欠点です。 ・グラフオプションでデータラベルを表示する これを編集して会員名にします。 データの近くに会員名を表示できるのが利点です。また、テキストボックスを並べるよりは(いくらか)楽でしょう。データに変化があったとき、データラベルはプロットを追いかけて自動で移動してくれますゆえ。とはいえ、手間がかかることには変わりありませんが。
お礼
ありがとうございます。 やはり一気に作成できないということですね(>_<)
- imogasi
- ベストアンサー率27% (4737/17069)
>各項目(会員名)をグラフ上に表示するためには 1回操作では無理ではないでしょうか。人手でシコシコするところをVBAでやって見ました。 (データ例)A1:C8 身長 体重 山田 167 76 大島 182 62 木田 171 85 木原 169 59 川原 172 61 田原 174 81 山原 178 85 (操作) B1:C8範囲指定 挿入-グラフ-散布図-完了 横軸身長、縦軸体重の点グラフが出きる。 データ系列の書式設定で、データラベルを表示するで、 体重の数字は表示できる。 (VBAコード) ツール-マクロ-VBEで出る画面で、メニューの挿入-標準モジュールをクリックして出てくる画面に、下記をコピーして貼りつける。 Sub test01() Worksheets("sheet1").Activate d = Range("A2").CurrentRegion.Rows.Count Dim tb(100) For i = 2 To d tb(i) = Worksheets("sheet1").Cells(i, "A") Next i '------ ActiveChart.PlotArea.Select ActiveChart.SeriesCollection(1).Select Selection.HasDataLabels = True For i = 2 To d ActiveChart.SeriesCollection(1).Points(i - 1).Select t = Selection.DataLabel.Top l = Selection.DataLabel.Left ActiveChart.Shapes.AddShape(msoShapeRectangle, l + 10, t, 15, 10). _ Select Selection.ShapeRange.Line.Visible = msoFalse Selection.Characters.Text = tb(i) Selection.Characters.Font.Size = 6 'Selection.ShapeRange.Fill.Transparency = 0# Selection.ShapeRange.Fill.Transparency = 1# Next i End Sub 上記を実行すると、上記例ではA列の名前がグラフ上に書かれます。 あとグラフエリアなどを拡大するとき、データラベルのボックスが連れもて動きにくいなど、解決すべき点もありますが、上記もマクロの記録を改良したものなので、諸点について(フォントの大きさ等々など)改良を考えてください。
お礼
詳細な回答ありがとうございます。 この方法は私のエクセル理解度を超えた特殊なものに思われますが、一度トライしてみたいと思います。
- masatoshi5352
- ベストアンサー率12% (26/214)
会員名A列身長B列体重C列に入っていても、範囲をB列とC列を選べば、グラフの散布図で出来ます。 後でA列を選択し追加
お礼
回答ありがとうございます。 確かにこのやり方であればプロットが可能で全体の分布傾向はわかります。 但し各項目(会員名)をグラフ上に表示するためには、グラフ作成後に数表と照合して、プロット別にテキストボックス等で書き込んでいかねばなりません。 その作業を省略したいのですが…エクセルでは無理なのですね。
- 2718281828
- ベストアンサー率36% (66/181)
補足、お待ちしておりました(笑 > 私が作成したいのは2種類のデータ数値でx軸とy軸を構成するグラフであり、 それが散布図です。私は仕事の都合上、専用のグラフ作成ソフトではなく、エクセルでグラフを描かされております。グラフの中身は、x軸に時間、y軸に電流値などのグラフです。それでよろしいのですよね? > 「散布図」ではx軸が項目(最初の質問の例で言えば会員リスト)になってしまうからです。 それは、データ選択時に会員リストを外すなり、グラフ作成後に「元のデータ」メニューを使ってx軸データY軸データを指定するなりすれば、解決する問題です。 ただ、私が気になっているのは、散布図は、デフォルトでは全データが同一系列として扱われます。つまり、私が日々作成しているグラフのように、点の一つ一つに個性がありません。もし、会員Aのデータはどこ、会員Bのデータはそこ、というように表示したいのであれば、手間がかかります。 その辺はどうしたいとお考えでしょうか。
お礼
回答ありがとうございます。 私が作成したいのは、ご回答にありましたように、「会員Aのデータはどこ、会員Bのデータはそこ」というものです。 会員名をデータ範囲からはずせば、身長と体重の相関分布をグラフ化することが可能なことはわかりますが、それだとご回答の通り「全データが同一系列として扱われ」てしまいますので、後からプロット別に会員名をひとつひとつ書き込んでいかねばなりません。 それを省略化するグラフ作成のウラ技的なものがないのでしょうか?
- 2718281828
- ベストアンサー率36% (66/181)
散布図という種類のグラフがそれに相当します。 とりあえず、グラフ作成時に「散布図」を選んでください。 それでよく分からないことがあれば、補足に追加質問をして下さい。
補足
早速の回答ありがとうございます。 ただ残念ながら「散布図」ではダメなのです。 私が作成したいのは2種類のデータ数値でx軸とy軸を構成するグラフであり、「散布図」ではx軸が項目(最初の質問の例で言えば会員リスト)になってしまうからです。
お礼
ありがとうございます。 エクセルの次のバージョンに期待するしかなさそうですね(^^;)