gooID利用規約 改定のお知らせ

お世話になります。

折れ線グラフの質問があります。エクセル2013を使用し、エクセル97~2003形式で保存しています。

      A      B           C            D            

6   時間(hr)   温度(℃)  蒸気量(t/h)  張り込み量(m3/h)

7    8        154      0.50          5.0

8    9        151      0.78          10.0

9    10       116       0.98          4.5

10   11       145      1.09          7.8

11   12       132       0.97          8.6

12   13       124       0.67          4.7

13   14       156      0.86          8.5

この様なシートがあります。

横軸にB列の時間(hr)を示し、縦軸に残りの3つの列B~Dを示すグラフを作る事はできますか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

#2です


ダミー系列追加のところだけVBAで自動化してみました。
ワークシート上にダミーデータを用意する必要は無く、コード中で生成します。
見た目変化は無いように見えると思いますが、軸目盛り数値がデータラベルに置き換わって編集できる様になっている筈です。
xl2010でやっていますが、見慣れないコードが自動記録されるので、昔の表現に合わせたつもりです。
なお見えない系列を消したいとき、選択しにくいかもしれませんので、xl2010の例ではデザイン/データの選択から系列リストのダイアログを表示させて削除して下さい。

(前提)
対象シートはコード中で指定しています。
対象シートにグラフは一個だけとします。(複数あっても、1番目のグラフを処理するだけですが)
X,Y軸共に目盛り数値の最大値、最小値、目盛り間隔は手動で設定してある必要有り。
(コード中で判別~エラー処理は行っていませんので、目盛り数値がずれる可能性があります)

Sub addDummySeries()
Dim myWbk As Workbook
Dim mySh As Worksheet
Dim myChartObj As ChartObject
Dim dummySeries As Series
Dim myXValues As Variant, myValues As Variant
Dim i As Long, seriesCount As Long

Set myWbk = ThisWorkbook
Set mySh = myWbk.Sheets("Sheet1")
'シートにグラフは一個だけである事を前提
Set myChartObj = mySh.ChartObjects(1)
'Y軸の目盛り数値を読み込んでダミー系列用のデータを生成
With myChartObj.Chart.Axes(xlValue)
ReDim myXValues(1 To (.MaximumScale - .MinimumScale) / .MajorUnit + 1)
ReDim myValues(1 To (.MaximumScale - .MinimumScale) / .MajorUnit + 1)
For i = 1 To UBound(myValues)
myValues(i) = .MinimumScale + .MajorUnit * (i - 1)
myXValues(i) = myChartObj.Chart.Axes(xlCategory).MinimumScale
Next i
'Y軸の目盛り数値を非表示
.TickLabels.NumberFormatLocal = """"""""""
End With
'新系列追加
Set dummySeries = myChartObj.Chart.SeriesCollection.NewSeries
seriesCount = myChartObj.Chart.SeriesCollection.Count
Debug.Print seriesCount
With dummySeries
.XValues = myXValues
.Values = myValues
.HasDataLabels = True
.DataLabels.Position = xlLabelPositionLeft
.Format.Line.Visible = msoFalse
End With
'追加したダミー系列の凡例削除
On Error Resume Next '凡例が表示されず、エラーで止まる事がある対策
myChartObj.Chart.Legend.LegendEntries(seriesCount).Delete
End Sub
    • good
    • 0
この回答へのお礼

素晴らしいですね、煮詰めるとこんなに凄い事が出来るんですね。この度は回答していただきありがとうございました。

お礼日時:2014/02/16 17:26

忘年会の酔い覚ましに作成してみました。


1.温度、蒸気量のデータはスケール(必要によりオフセットも)をかけて、張り込み量と同じスケールに調整してあります。
2.Y軸に貼りついているのは、ラベル表示用のダミー系列です。ライン、マーカーとも不可視にすれば、見えなく出来ます。
3.Y軸の本来の目盛りは表示形式を""""にして表示させなくしています。
4.Y軸の目盛りに見えるものは、ダミー系列のデータラベルです。必要な箇所を手動で書き換えています。
面倒くさいのでお勧めはしません。
「3つのデータの折れ線グラフの質問」の回答画像2
    • good
    • 0
この回答へのお礼

なるほど、参考になりました。この度はありがとうございました。

お礼日時:2014/02/16 17:26

> 横軸にB列の時間(hr)を示し、縦軸に残りの3つの列B~Dを示すグラフを作る事はできますか?



「散布図」の「直線とマーカー」などをお使い下さい。

「データを散布図または折れ線グラフで表示する」
http://office.microsoft.com/ja-jp/excel-help/HA0 …
    • good
    • 0
この回答へのお礼

「散布図」や「折れ線グラフ」を使ったら良いんですね!!早速使用してみます。この度はありがとうございました。

お礼日時:2014/02/16 17:28

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【Excel】3軸以上のグラフを作成できますか?

Excelでグラフを作成する場合
Y軸が2本で平面のグラフまでは
標準で用意されていると思うのですが、

例えば下のようなX軸が共通でY軸が3本以上必要となる(吸塵率「%」・粉塵量「個」・騒音レベル「dB」)
表をグラフ化する場合
どのようにすればいいのでしょうか?

銘柄   吸塵率% 排気中粒子 駆動音平均
手軽    16.3%      0個    54dB
排気0   13.4%    4000個    60dB
JET    35.3%    1000個    62dB
かるワザ 67.5%      0個    63dB

(表記中の固有名称その他は現実のそれとは何ら関係なく・またデータも説明用に一時的に作成されたものとする)

Aベストアンサー

 散布図でダミーのY軸を作成作れば、3軸でも4軸でも可能です。ただ、その軸をどのように配置するかという問題があります。
 また、3軸なら「三角グラフ」、4軸なら「Jチャート」というグラフもあります。2つとも散布図を工夫すれば、Excelで作成可能です。

 しかし、今回の表の場合は、作成元のデータを加工して、スネークプロット(縦の折れ線グラフ)またはレーダーチャートを作成したらいかがでしょうか。

 データの加工は、偏差値・達成率・最大値の対する比率などを使って基準を揃え、評価が高いほど値が高くなるように調整します。


人気Q&Aランキング

おすすめ情報