人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Microsoft Excel 2002を使用しています。

下記データはA?Dの原料を用いて製品を作り,
それぞれのグループから4つずつサンプルを抜き取って
強度を測定した結果で,これをグラフ化したいと考えています。

A B C D
(1) 25.4 25.0 25.4 25.1
(2) 24.8 25.3 24.9 25.5
(3) 25.4 25.4 25.3 25.7
(4) 25.3 25.6 25.1 25.5

上記結果をそのまま折れ線グラフにすると,
http://f.hatena.ne.jp/ryo220/20100817160906
のように(1)?(4)がグループと見なされてしまいます。

データのバラツキを視覚的に見たいので,
http://f.hatena.ne.jp/ryo220/20100817160905
のようなグラフを書きたいのです。
(このグラフはマクロで無理に描いたものですが,
項目名(A?D)を毎回指定する必要があるため,
他の実験で出たデータに応用しようとすると手間がかかります)

系列のXYを逆転する方法は考えましたが,
それをするとY軸側にABCDが並び,数値がX軸側に来てしまうので
目的とするグラフになりませんでした。

目的のグラフをかんたんに作る方法があればご教示願いたく質問いたしました。
よろしくお願いします。


●質問者: Naka
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:24 ?D Excel Microsoft グラフ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● SALINGER
●40ポイント

回答が付かないようなので、簡単じゃない方法ならある程度できるので紹介します。


1 行と列を入れ替えてどこかにコピー。表とグラフをリンクさせたい場合はリンク貼り付けにする。

[f:id:SALINGER:20100817215741j:image]


2 次のようにデータの上に数値を入れる。書式設定で表示形式を必ず数値にすること。

[f:id:SALINGER:20100817215742j:image]


3 図のB1?E2を選択してグラフの挿入。散布図を選択する。


4 元のデータから系列から追加を押し。系列2をXの値をB3?E3(2のところ)。Yの値をB4?E4にする。


5 同様にして系列3と系列4追加すると次のようなグラフとなります。

※ ちなみにX軸は数値となるのでABCDに出来ません。

[f:id:SALINGER:20100817215743j:image]


2 ● hathi
●40ポイント ベストアンサー

ご要望の背景を次のように受け止めました。

A,B,C,Dは、何かを作るときの原材料名

(1)(2)(3)(4)は、例えば原材料Aで作った4サンプルをそれぞれ試験した成績の4つ分のデータ

(1)や(2)に、特別の系列的・属性的な意味合いはない

原材料をA,B,C,Dと変えた場合に、どの程度製品に影響が出ているのか、成績をグラフ化する。

提案1

原材料別の色区分をせずに、同色にしてしまう。(例えば、全部黒の●)

× http://f.hatena.ne.jp/ryo220/20100817160905 のようにはなりません。

A,B,C,Dで色分けしなくても、目視で充分に目標を達することができると思います。

○ 作業が簡単で、マクロを使わなくて良い。短時間にできる。

提案2

提案1と同じですが、マーカーを○や△、□などにする。

× 大した改良にはなりません。

○ ねらいは、原材料が同じで、複数のサンプルが近接した測定値になったとき見易い

提案3

(同原材料で同じor近接した測定値をもつ元データ)を、少し値を上下にずらした

グラフ描画用データを作ってから、提案2でグラフ化する。

× 正確には、測定値がそのままグラフ化されていない。

○ データのばらつきや集中の具合が、視覚的にわかりやすいものになる

(グラフの下などに[測定値が集中しているデータは見易く加工した]と注記する)

提案4

多少の便利かもしれないので、グラフ化のVBAをつくっておく

× VBAの使い方を知らないとできない

○ 同じようなことを何度も繰り返すなら便利に使える

VBAコードの例 原材料が9種類 サンプル測定値が各7個あるとして

次の表がSheet1のA2:J9にあるとします。

名前 現行品 代品A 普及品 廉価品 高級品 代品B 厳選品 新製品
テスト1 24.6 25.7 25.3 25.4 25.7 25.9 25.7 26.6 25.2
テスト2 25.6 25.7 26.2 25.8 24.9 25.2 25.2 26.3 25.6
テスト3 24.9 25.2 24.0 25.5 25.7 25.9 25.0 26.4 24.9
テスト4 25.2 25.7 25.3 25.4 24.7 24.9 25.3 26.5 25.6
テスト5 25.1 25.2 23.3 25.4 25.2 25.9 24.9 26.6 25.9
テスト6 25.3 24.7 25.3 25.9 25.3 25.8 25.1 25.9 23.6
テスト7 24.7 25.7 25.3 25.4 25.7 25.9 25.0 26.2 26.6

(済みませんが、値の入力が面倒なので同じ値が多くなっています。

実際にはばらついている数字で、テストして下さい)

VBAのコードの例、標準モジュールに次のコードを貼り付けて下さい

Sub test()
 Application.ScreenUpdating = False '少し処理速度を向上させるため
 Charts.Add
 With ActiveChart
 .ChartType = xlLineMarkers    '折れ線グラフの指定です
 .SetSourceData Source:=Sheets("Sheet1").Range("A2:J9")'グラフ用の元データ指定です。Sheet1
 .Location Where:=xlLocationAsObject, Name:="Sheet1" 'グラフをSheet1に描画させます
 namae = ActiveChart.Name     '今回必要ありませんが、グラフのオブジェクトの名前を把握します
 ActiveChart.Legend.Select     '凡例を選択して
 Selection.Delete         '削除します
 End With
 For i = 1 To 7  '7つのテスト計測値折れ線を1つづつ順番に処理します
 ActiveChart.SeriesCollection(i).Select '1つの折れ線を選んで
 With Selection
 .Border.LineStyle = xlNone       'ポイント間を結ぶ線を無表示とします
 .MarkerBackgroundColorIndex = xlNone  'マーカーの背景色をなし(透明化)で選びます
 .MarkerForegroundColorIndex = 3    'マーカーの前景色(枠線)を仮に3(赤)にしました。
 .MarkerStyle = xlSquare        'マーカーのスタイルを仮に□にしました。
 .MarkerSize = 8            'マーカーのサイズを8ポイントにしました。
 For j = 1 To 9  '原料が9種類なので、横に9ポイント並んでいます。そのポイント順に処理します。
 ActiveChart.SeriesCollection(i).Points(j).Select 'ポイントを選んで
 With Selection           'マーカーを[塗りつぶし]にする方法にしました
 .MarkerBackgroundColorIndex = j '背景色を決めます。カラーコードの説明は省略
 .MarkerForegroundColorIndex = j '前景色も背景色と同じにします。単純な塗りつぶしになる
 .MarkerStyle = xlCircle     'マーカーのスタイルを●にしました
 End With
 Next
 End With
 Next
 Application.ScreenUpdating = True 'スクリーン表示を普通に戻します
End Sub

VBAでグラフの表示位置やサイズを固定化することもできますが、

上のコードは単純なものなので、サイズや位置は、できたグラフをドラッグして調整して下さい。

グラフに一度に表示する原材料が10種類くらいまでは、これでも問題ないと思います。

2行目に記載した原材料名は、グラフのX軸の項目名になります。

VBAのコードを実行した後でも、原材料名や数値データを変更すると、グラフに反映されます。

(グラフの機能は普通と同じですから)(グラフをVBAで設定しただけですので)

テスト1?テスト7は、テスト15くらいまでは、これでも問題ないと思います。

全原材料のテスト数が同じでなくて、表の中のいくつかが数値がなくてブランクでも問題ありません。

簡単なコードですから、自分の用途に合わせて修正するもの難しくないと思います。


3 ● bestlvbbs
●0ポイント (はてなにより削除しました)
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ