• ベストアンサー

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

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

noname#231224
noname#231224

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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/17068)
回答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

  • ラベル付き散布図の作り方

    Excelでラベル付き散布図を作りたいと思っています。 セルA行にデータの名前、B行にX軸のデータ、C行にY軸のデータがあります。通常であればBとC行を選択して散布図を指定すれば、自動的に散布図は出来ます。しかし、ラベルにしたいのは各データの名前なので、ラベル用にとA行を混ぜるとどうしても作図がうまく行きません。 やり方として、例えばここにその方法が書いてありますが、データが何百とあったら実際やっていられません。 http://software.ssri.co.jp/statweb2/tips/tips_6.html 何か自動で出来る他の方法はないでしょうか。

  • 散布図について

    以前bantamさんが質問していた(No46347)のですが、それでは解決しなかったので質問します。 EXCELを使って,散布図で、ラベルを表示したいのです。 たとえば、   ラベル  X   Y   a    200   250   b    150   120   c    300   278   d    243   200   e    120   100 のようなデータを散布図にすると、「ラベルを表示する」を選択すると、上のラベルではなく、Xの値が表示されます。「値を表示する」を選択するとYの値が表示されます。そうではなく、ラベルを表示したいのです。 やはり、テキストボックスなどで表示するしかないのでしょうか? ほかのソフトがあればそれでもいいのですが。

  • ラベル付き散布図作成マクロ、元データは必ず縦表?

    Excel でマクロを使用して散布図にラベルを付ける際に、以下のような説明・例を見つけたのですが http://support.microsoft.com/kb/213750/ja 散布図の元になるデータですが、この説明中にあるようにデータポイントを縦一列に並べないといけないのでしょうか。横に並んでいる状態でしたら無理でしょうか。 説明中の例となっている元データはこのように縦に並んでいます。 A1: Labels B1: X Values C1: Y Values A2: DataPoint1 B2: 12 C2: 5 A3: DataPoint2 B3: 9 C3: 7 A4: DataPoint3 B4: 5 C4: 3 A5: DataPoint4 B5: 4 C5: 8 A6: DataPoint5 B6: 1 C6: 4 この例となっている元データの下の注意書きに「ラベルや値は、この資料に記載されているフォーマットのとおりに配置する必要があります」と書かれています。他にもこのような説明をネット上で見つけましたが、どれも元データは縦列になっています。以下のように元データが横に並んでいる場合に可能な方法はないでしょうか。 A1: Label B1: DataPoint1 C1: DataPoint2 D1: DataPoint3 D1: DataPoint4 E1: Datapoint 5 A2: X Values B2: 12 C2: 9 D2: 5 D2: 4 E2: 1 A3: Y Values B3: 5 C3: 7 D3: 3 D4: 8 D5: 4 ご存知の方、教えていただけましたら幸いです。 宜しくお願いします。

  • エクセルの散布図にラベル(系列が2つ)

    エクセルの散布図にラベルを付けたいのですが、 いろいろ試しているのですが上手くいきません。(マクロ初心者です。) OKwaveにある質問も見たのですが、同じような状況が見当たらず困っていました。 http://support.microsoft.com/kb/213750 ↑「microsoft サポートオンライン」 のマクロを参考にし、やってみたのですが、系列が1つしかない場合は上手くいくのですが、系列2つでやると 「オブジェクト変数またはwithブロック変数が設定されていません」 というエラーが出てきてしまいます。 どなたかお知恵を貸していただければ幸いです。 ・一つのグラフに系列が2つあり、それぞれいくつかのデータがある。  (例えば、下のデータのB2:C4は系列1「野菜」、   B5:C7は系列2「果物」となっている。) A1:ラベル_____B1:X軸____C1:Y軸 A2:キャベツ___B2:12______C2:5 A3:トマト_____B3:9_______C3:7 A4:キュウリ___B4:5_______C4:3 A5:イチゴ_____B5:4_______C5:8 A6:ミカン_____B6:1_______C6:4 A7:リンゴ_____B7:1_______C7:4 この表で 一つの表に2系列をおさめ、 なおかつそれぞれの点に「キャベツ」「イチゴ」などのラベルを表示したいと思っています。 「系列1」の点は「■」「系列2」の点は「●」と分けてあります。 実際にはもっとデータ数が多いため、系列を全て分ける、というのは難しいです。 VBAを使って出来るやり方がありましたら是非教えて下さい。 なお、サポートオンラインからコピーして使った マクロは以下のとおりです。 Sub AttachLabelsToPoints() 'Dimension variables. Dim Counter As Integer, ChartName As String, xVals As String ' Disable screen updating while the subroutine is run. Application.ScreenUpdating = False 'Store the formula for the first series in "xVals". xVals = ActiveChart.SeriesCollection(1).Formula 'Extract the range for the data from xVals. xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _ Mid(Left(xVals, InStr(xVals, "!") - 1), 9))) xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1) Do While Left(xVals, 1) = "," xVals = Mid(xVals, 2) Loop 'Attach a label to each data point in the chart. For Counter = 1 To Range(xVals).Cells.Count ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _ True ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _ Range(xVals).Cells(Counter, 1).Offset(0, -1).Value Next Counter End Sub どうぞよろしくお願いします。

  • エクセル2003 円グラフのデータラベル

    エクセル2003を使用して、円グラフを作成しています。 データラベルには、%の値を記載して、輪郭線有り・領域塗り潰しで、書式設定で[内部外側]に配置しています。 データラベルを外側に配置すると、グラフが小さくなってしまう為、[内部外側]の配置は崩したくありません。 添付グラフのBの様に、ある程度数値が大きいときは問題ないのですが、Aの様に小さな値が並ぶと、データラベルが完全に重なってしまいます。 データラベルが重ならないようにするにはマクロで操作するしかないと思うのですが、マクロに関しては素人の為、手が付けられません。 どなたかご存知の方がいらっしゃいましたら、ぜひ教えて頂きたいのです。 宜しくお願いします。

  • 4次元データを射影により3次元に縮小する方法

    以下のような 3本の位置ベクトルによって示される3次元空間に、4次元 データを射影し、次元縮小する方法を教えてください。  A = [a1 a2 a3 a4]、 B = [b1 b2 b3 b4]、 C = [c1 c2 c3 c4] 射影行列を求め、各データ点との積を求めるのだと思いますが、やり方 が分かりません。 仕事で次元縮小のプログラムを作らなければならないので、大変困っています。どなたか、助けてください。

  • gnuplotで点にラベルをつけたい

    UNIXのGNUPLOTについて質問します。 例えば以下のようなデータがあったとします。 1.2 3.4 A 3.2 6.7 B 5.3 9.8 C この場合、1列目と2列目をそれぞれX,Yとし、3列目をその点または点につけるラベルとして2次元の散布図をGNUPLOTで書かせることは可能ですか?

  • GNUPLOTで点にラベルをつけて描きたい

    UNIXのGNUPLOTについて質問します。 例えば以下のようなデータがあったとします。 1.2 3.4 A 3.2 6.7 B 5.3 9.8 C この場合、1列目と2列目をそれぞれX,Yとし、3列目をその点または点につけるラベルとして2次元の散布図をGNUPLOTで書かせることは可能ですか?

  • 多次元配列の一次元目の最大値の求め方

    多次元配列の一次元目の最大値の求め方 下記のような多次元配列(ちなみに、これって二次元配列ですか?)があるとき、 常に、「一次元目の最大値+1」を返すようにしたいのですが、 どうすればよいのでしょうか? $data[0][0]とか$data[1][0]とか$data[2][0]とかの最大値の意味です。 下記の例でいくと、一次元目の最大値が3なので、数値の4を返したいのですが…、 ■$data 1,0,A1,B1,C1 2,5,A2,B2,C2 3,0,A3,B3,C3 3,2,A4,B4,C4

    • ベストアンサー
    • PHP
  • エクセルの散布図について

    教えて!gooの先生方、いつもお世話になっておりますm(_ _)m 以下のような図を作成したいと思っています。  xの値 yの値 A群 30 31 A群 45 47 A群 60 62 A群 90 96 B群 30 36 B群 45 57 B群 60 73 B群 90 95 C群 32 30 C群 42 45 C群 47 60 C群 66 90 D群 42 30 D群 51 45 D群 59 60 D群 76 90 そこで、散布図を作成し、点を一つずつ選択して、A群はA群で線になるように、B群はB群になるように、点を繋げてグラフを作りました。 それが添付ファイルのjpgです。 なんとなくそれっぽい形にはなりましたが、点の選択が非常に難しく、すぐに全体が選択されてしまい、端っこの点などが選択できません。(端っこの点の色と大きさを変更したいのですが) 他の点は、何度も繰り返しクリックしているうちに奇跡的に、たまたまその点が選択されるというやり方で、なんとか色と大きさを変更しました。 散布図の点を簡単に選択する方法はないもんでしょうか? あるいは他にもっと賢いやり方があったら教えてください。 よろしくお願いします。

専門家に質問してみよう