Excelについての質問です。1列目に地点番号、2列目にx座標、3列目にy座標が、数値で入力されているデータがあります。


1,9,3
2,4,7
3,10,8

という感じです。散布図を描き、各地点のラベルとして、1カラム目の地点番号を、図中の点のすぐ横に表示させたいのです。

Excelはあまり詳しくありません。いろいろ試しましたが、グラフのプロットエリア外に、凡例として系列名を表示させることしか、できていません。地図的な図面が欲しいので、図中の点の横(上でも下でもよい)に、表示させたいのです。

可能であれば、方法を教えていただけると、幸いです。地点番号は、「大阪」など、地点名の表示にすることも、考えています。

# Mathematicaでも結構です

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/05/20 15:51:26
  • 終了:--

回答(6件)

id:hkonno No.1

hkonno回答回数2ベストアンサー獲得回数02004/05/20 16:37:54

ポイント10pt

URLは,ダミーです。

各行をそれぞれ別の系列として,1カラムめを系列名,2カラムめをX座標,3カラムめをY座標とした各系列の要素を1件として,データラベルの内容を「系列名」とすることで可能です。

マーカーの色やスタイルがそれぞれ別になるので必要ならすべての系列で色とスタイルを同じにしてやれば良いと思います。

id:aki73ix No.2

aki73ix回答回数5224ベストアンサー獲得回数272004/05/20 16:38:48

ポイント10pt

URLはダミーです

こんな感じでかけますがいかがですか?

INDEXを入れたり倍率を変えれば、任意の場所に書くことがで着ます

’1〜3セル分読み込み

For I = 1 To 3

’10倍

PX = Cells(I, 2).Value * 10

PY = Cells(I, 3).Value * 10

ActiveSheet.Shapes.AddShape(msoShapeOval, PX, PY, 5, 5). _

Select

’赤色

Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10

Selection.ShapeRange.Fill.Visible = msoTrue

Selection.ShapeRange.Fill.Solid

Selection.ShapeRange.Line.ForeColor.SchemeColor = 10

ActiveSheet.Shapes.AddLabel(msoTextOrientationHorizontal, PX + 8, PY, 0# _

, 0#).Select

Selection.ShapeRange(1).TextFrame.AutoSize = msoTrue

Selection.Characters.Text = Cells(I, 1).Value

Next I

End Sub

id:kiichigo No.3

kiichigo回答回数167ベストアンサー獲得回数02004/05/20 15:58:46

id:Mugicha2004

このページに記載されているマクロでは、10箇所以外はNGになるようです。Excelは詳しくないので、マクロの改変もできません。

2004/05/20 16:03:43
id:kiichigo No.4

kiichigo回答回数167ベストアンサー獲得回数02004/05/20 16:01:46

http://www.jomon.ne.jp/~hayakari/PCA.htm

Excelアドイン工房「主成分分析」

id:Mugicha2004

ツールが提供停止になっているようです。すみませんが、もう少し、確認されてからご回答をいただけると幸いです。

2004/05/20 16:04:50
id:nankichi No.5

nankichi回答回数562ベストアンサー獲得回数22004/05/20 16:32:49

ポイント55pt

ひとつずつやるか、VBAを組むか、です。

このページのは比較的簡単にまとまっています。A2からラベルが始まるデータなら、縦に何行あってもokです。

表記の3*3のデータで動くことを確認しました。(excel2002)

Sub 質問762()

ActiveSheet.ChartObjects(1).Activate

ActiveChart.ApplyDataLabels

For i = 1 To Range(”A2”, Range(”A2”).End(xlDown)).Cells.Count

ActiveChart.SeriesCollection(1).Points(i).DataLabel.Text = ActiveSheet.Cells(i + 1, 1).Value

Next

Range(”A1”).Select

End Sub

1.まず、新しいシートのA2-C4に上記データを張り付けます。

2.散布図を作ります。

系列は1つ、

xの値 =Sheet1!$B$2:$B$4

yの値 =Sheet1!$c$2:$c$4

とします。

3.以下は参照urlの通りです。

http://www.datamining.jp/ma/20021010.htm

データマイニングで宝物を見つける! 2002年10月10日号

未確認ですが、ユーザーインターフェイスが必要なら。

id:Mugicha2004

ひとまず、上手くいきました! ありがとうございました!

2004/05/20 16:44:32

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 kanetetu 2199 1933 11 2004-05-20 16:38:51
  • id:dalian3
    強引に手作業でやるなら

    地点名が数字だと分かりにくいので、東京,大阪,名古屋、、、とします。
    1)X,Yの数値範囲をドラッグして色を反転させる。
    2)グラフのアイコンを押す。
    3)散布図を選ぶ、 [次へ>]
    4)X,Yの散布図が見えるので[次へ>]もし散布図が違っていたら、行と列を逆にする。
    5)「データラベルタグ」を選んで、[ラベルを表示する(L)」に◎、[次へ>]
    6)[新しいシート]か[オブジェクト」を選んで[完了(F)]
    このままだとデータラベルが、Xの値になっているので、以下修正。
    7)東京,大阪,名古屋...福岡の地点名をドラッグ、コピーする。
    8)グラフ上のデータラベルの一つをクリックして選択する。
    9)「貼り付けボタン」を押す。これでデータラベルが、地点名に変わる。
  • id:kiichigo
    確認不足

    確認不足でごめんなさい。
  • id:himami
    提供は続いていますよ

    たんに、HPでの提供を止めただけです。
    http://www.jomon.ne.jp/~hayakari/
    を読んで下さい

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません