• ベストアンサー

ラベル付1次元散布図の作成

0から1までの間の値をとるデータがあり、それぞれの値にラベルがついています。同一の値はありません。つまり、 A 0.23 B 0.01 C 0.94 ----- といった感じです。 それぞれの値を1次元の物差しの上の点として配置し、点の上にラベルを示したいのですが、どうしたら可能でしょうか。やはりマクロになるでしょうか。

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

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

#Iです。 VBAを使わない方法でやれそう。 データ A3:C8 ーー C列の10は、グラフ上で、X軸からの見かけ上の距離を決めるもの。 適当に設定のこと。 A列 B列 C列 A 0.23 10 B 0.01 10 C 0.94 10 D 0.51 10 E 0.77 10 F 0.99 10 ーー グラフ作成操作 B3:C8を範囲指定 (A列は範囲から外すこと) 挿入ーグラフー散布図 ラベル無しの点(線)がy軸10の位置に横方向に書かれる グラフ上の1つのデータ点で右クリック データラベルの追加 データラベルの書式設定 ラベルオプション ラベル内容に  X軸 (Y軸からのこの点の距離となる、量的な数値が表示される) ラベルオプション セルの値 (指定したセルのデータをラベルに出せという指示になる。 この場合はデータの区別を知らせる記号(本件の場合)か文字列などです。 ここでA3:A8を指定。

noname#231224
質問者

お礼

ご回答ありがとうございました。なるほど、こいういう方法があったのですか。勉強になりました。細かな調整は必要ですが、当面この方法を使わせていただこうかと思います。

すると、全ての回答が全文表示されます。

その他の回答 (1)

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

過去に、おなじような質問に答えていたので、例に合わせて、少し変えています。 しかし表示位置、サイズ、目盛スケールなど、試行錯誤して決めた一例で、 他人・他例では、見かけが崩れて、使えないだろう。 そういう箇所をプログラムで、相対化する力が小生にはない。 質問者が、自力で修正できて、参考になれば幸いです。 データ例 A1:B6 A 0.23 B 0.01 C 0.94 D 0.51 E 0.77 F 1.12 標準moduleに Sub test01() Worksheets("sheet1").DrawingObjects.Delete ActiveSheet.Shapes.AddLine 100, 400, 600, 400 '数直線の横線(水平線) lr = Range("B1000").End(xlUp).Row For i = 1 To lr x = Cells(i, "B") * 200 ActiveSheet.Shapes.AddLine 100 + x, 400 - 10, 100 + x, 400 + 10 '縦の短小線を作成 '-- Set y = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 100 + x, 400 - 40, 35, 40) 'y.ForeColor.RGB = RGB(255, 255, 255) y.Fill.Transparency = 0# '1# 'y.Fill.Visible = msoFalse y.Line.Transparency = 0# y.Line.Visible = msoFalse y.TextFrame.Characters.Text = Cells(i, "A") & vbCrLf & Cells(i, "B") Next i End Sub やってみて、この程度でどう思うか、ですね? ーー グラフ操作で実現する方法が、ありそうなんだが、今すぐには判らないのでとりあえず。

noname#231224
質問者

お礼

ご回答ありがとうございます。試してみます。

すると、全ての回答が全文表示されます。

関連するQ&A