• ベストアンサー

エクセルの散布図

ラベル付きの散布図を作成したいのですが、ちょっとやりかたがわからなくて、困っています。 要するに データ名  x座標   y座標 ----------------------------- データ1  1.55345  -2.10188 データ2  0.93827  -0.37629 データ3  0.73248  -1.28221 データ4  -0.73542  -0.92798 データ5  1.88498  -1.54822 データ6  1.88733  -2.28795 データ7  0.50953  -0.5687 で、x, y座標の点の横あたりにデータ名も表示させたいのです。 エクセルのところで質問させてもらいましたが、上記の事ができればソフトはエクセルでなくてもかまいません。 どなたかご教授をよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#29107
noname#29107
回答No.4

2003では、グラフのオプション、データラベルタブ、ラベルの内容の系列名にチェックですね。 この場合、系列を行ごとに(系列1=データ1の行、系列2=データ2の行・・)指定してやらないとうまくいかないと思います。 一応こんなマクロ考えてみました。 今回のサンプルデータの場合だとA1:C8を選択した状態で、動かしてみてください。 Sub SampuXY() ' ' 選択済み領域を元に散布図を作成 ' マクロ作成日 : 2004/12/8 ユーザー名 : ' Dim sht1 As Worksheet, wkRng As Range '   Set sht1 = ActiveSheet   Set wkRng = Selection   If Not wkRng.Columns.Count = 3 Then     Exit Sub   End If   i1 = wkRng.Row   im = wkRng.Rows(wkRng.Rows.Count).Row   c1 = wkRng.Columns(2).Column   c2 = wkRng.Columns(3).Column   Charts.Add   ActiveChart.ChartType = xlXYScatter   ActiveChart.SetSourceData Source:=wkRng, PlotBy:=xlRows   With ActiveChart     For ix = 1 To im - i1       .SeriesCollection(ix).XValues = "=" & sht1.Name & "!R" & ix + i1 & "C" & c1       .SeriesCollection(ix).Values = "=" & sht1.Name & "!R" & ix + i1 & "C" & c2     Next ix     .HasLegend = False     .ApplyDataLabels AutoText:=False, LegendKey:=False, _     HasLeaderLines:=False, ShowSeriesName:=True, ShowCategoryName:=False, _     ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False   End With End Sub

atushi_01
質問者

お礼

作成していただいたマクロを使って、問題を解決することができました! わざわざマクロを作っていただいて、本当にありがとうございます! それにしても、マクロってこんなこともできるのですね、 自分でもマクロを書けるようがんばりたいと思いました!

その他の回答 (3)

回答No.3

作成方法は、下の方が説明されているとおりです。 ラベルの表示方法を説明します。 >すると、「グラフウィザード -3/4- グラフオプション」というダイアログが立ち上がりました。そこで、データラベルのタブを選択したのですが、ラベルを表示するという選択項目がありませんでした。 「データラベル」のタブ「Xの値」「Yの値」がありますよね、これのどちらかにチェックを入れると表示されますよ。 上のデータのとおりに散布図を作成した場合は、「Yの値」の方です。お試しください。

atushi_01
質問者

お礼

上記の通り、問題を解決することができました! ご協力どうもありがとうございます!

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1です。 私の場合エクセル2000です。2003であれば内容的に機能ダウンは考えられないですが、どなたかのご回答でもあれば待ちましょう。 >系列のタブをクリックし、xの値・・ 私は「次へ」を使い、エクセルに任せて、特に指定してません。やってみてください。 エクセルのグラフの常道は、一旦グラフをまず描かせて、それから(場合によっては種類までも)好きなように修正するのがコツです。 まづ私の書いたようにそっくりやって見て、グラフオプションで、「データラベル」のタブをさがし、「ラベルを表示する」を探してください。

atushi_01
質問者

お礼

上に書いたとおり、問題を解決することができました! 僕みたいな素人に事細かに説明していただいて、本当にありがとうございます! > 私は「次へ」を使い、エクセルに任せて、特に指定してません。やってみてください。 エクセルのグラフの常道は、一旦グラフをまず描かせて、それから(場合によっては種類までも)好きなように修正するのがコツです。 確かにそうかもしれないですね、エクセルは自分である程度やってくれるので。 使いなれた方のアドバイスはとても参考になります。ありがとうございました!

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

範囲指定A1:C7(上記例の場合)挿入-グラフ-散布図-「形式」は一番左上の結線と点のない種類を選ぶ -次へ-完了でグラフが出来る グラフオプション-データラベル-ラベルを表示するを順次クリック。 または系列ごとにやるなら 系列を指定して-データ系列の書式設定-データラベル- ラベルを表示する これで不満足な点は何でしょう。

atushi_01
質問者

補足

返信ありがとうございます。 非常にていねいに説明していただいたのですが、 ちょっとわからないことがあったので補足させていただきます。 範囲指定A1:C7(上記例の場合)- 挿入-グラフ-散布図-「形式」は一番左上の結線と点のない種類を選ぶ-次へ- で、ここで「グラフウィザード -2/4- グラフの元データ」というダイアログが出ました。ここで、系列のタブをクリックし、xの値=Sheet1!$B$2:$B$7, yの値=Sheet1!$C$2:$C$7と設定しました。ここでグラフが表示されているのですが、ラベルが付いてることを除いて、一応イメージ通りにできていました。 ここまではあっていますかね? それkら、次へを選択しました。 すると、「グラフウィザード -3/4- グラフオプション」というダイアログが立ち上がりました。そこで、データラベルのタブを選択したのですが、ラベルを表示するという選択項目がありませんでした。 この辺の違いはヴァージョンによるものなのでしょうか? 僕はwindowsXP, Excel 2003を使っています。

関連するQ&A