dポイントプレゼントキャンペーン実施中!

エクセル2003でグラフを描いたとき、添付図のようにX軸と目盛値の間が広いときがあります。
ちぢめる方法がわからないので教えていただけませんでしょうか。よろしくお願いします。

「エクセルでX軸の目盛値が離れているので、」の質問画像

A 回答 (3件)

ddtqpさん 今日は!


>エクセル2003でグラフを描いたとき、添付図のようにX軸と目盛値の
>間が広いときがあります。
どうやら質問内容の修正法は無い様です。
■Excel(エクセル)基本講座:グラフの作成(Excel2002・2003)↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/guraf …
内容:数値軸ラベルの修正→数値軸のラベルは「グラフウィザードグラフオプション」で設定できます。
未設定の場合は以下の手順で入力します。
この方法で金額の場合は単位を換える事に依り、違和感が無くなるのでは?
■Excel(エクセル)基本講座:グラフの作成方法(目次)↓
http://www.eurus.dti.ne.jp/~yoneyama/Excel/graph …
内容:グラフの作成手順→グラフウィザードを使ってグラフを作成する手順を解説しています。
■部品構成を理解し、「標準グラフ」を卒業 ---基本編(1~7P) ↓
http://pc.nikkeibp.co.jp/article/knowhow/2008102 …
内容:Excelではウィザードで簡単にグラフを作成できます。ところが、いざ見栄えを工夫しようとすると、「設定がどこにあるのかわからない」「思い通りの表現ができない」とイライラがつのるばかり…。そんな悩みを解消するグラフ作成のコツ、実践ワザを大公開します!
■「グラフの困った!」を解決する必修ワザ大全 ---実践編(1~13P)↓
http://pc.nikkeibp.co.jp/article/knowhow/2008102 …
内容:目盛りや項目の見づらさを修正する→ここからは、グラフ作成時にありがちな「困った」を解消する実践テクニックを、具体例に即して紹介していこう。まずは目盛りや項目の表示に関する悩みからだ。
■意外と簡単!「あのグラフ」の作り方 ---達人編(1~8P)↓
http://pc.nikkeibp.co.jp/article/knowhow/2008102 …
内容:ここからは、「新聞や雑誌でよく見掛けるのにエクセルでは作れない…」と言われているグラフの作成に挑戦しよう。達人のみぞ知る“マル秘テクニック”だ。
ただし続ページを見る時は会員登録が必要です。(無料前は見れた)
参考にして下さい。
>X軸と目盛値の間が広いときがあります。
時々為るのですか?
その時作成したグラフを削除して良い時のファイルからグラフをコピー&貼り付けして見て下さい。其れでグラフの変更をしてどうなるか?
それでも現象が起きるのなら補足を頂ければ幸いです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
基本から学べました。

>時々為るのですか?
毎回なるんですけど。標準レイアウトが気に入らないらしく、数ミリ寄せてくれといわれまして。。。

解決方法ないですね。
別のソフトで描画します。

お礼日時:2009/09/26 03:02

普通には無理です。


umazanpaiさんの回答をマクロ化してみました。
該当グラフを選択してマクロを実行してください。
マーカーの非表示等は未対応です。
追加してください。

Sub test1()
Dim myTime As Variant
Dim myAxiv As Object 'Y数値軸
Dim myVal As Variant '項目軸データ
Dim ddx As Variant, ddy As Variant 'ダミーデータ
Dim maxs1 As Double, mins1 As Double, maju1 As Double
Dim hl As Double, hW As Double
Dim fsize As Variant
Dim n As Integer
Dim y As Integer
Dim i As Integer

'グラフデータ他
With ActiveChart
myVal = .SeriesCollection(1).XValues
hl = .PlotArea.InsideLeft
hW = .PlotArea.InsideWidth
With .Axes(xlValue)
.MinimumScaleIsAuto = False
.MaximumScaleIsAuto = False
.MajorUnitIsAuto = False
.TickLabelPosition = xlNone
mins1 = .MinimumScale
maxs1 = .MaximumScale
maju1 = .MajorUnit
End With
.PlotArea.InsideWidth = hW
.PlotArea.InsideLeft = hl
End With
n = (maxs1 - mins1) / maju1 + 1

'ダミー系列データ
For i = 1 To n
If i = 1 Then
y = mins1
Else
y = y + maju1
End If
'ddx = ddx & "," & myVal(1)
ddx = ddx & "," & 1
ddy = ddy & "," & y
Next i
ddx = Replace(ddx, ",", "", 1, 1)
ddy = Replace(ddy, ",", "", 1, 1)

'散布図ダミー系列追加
With ActiveChart.SeriesCollection.NewSeries
.ChartType = xlXYScatter
.Values = "{" & ddy & "}"
.XValues = "{" & ddx & "}"
.ApplyDataLabels Type:=xlValue
.DataLabels.Position = xlLabelPositionCenter
fsize = .DataLabels.Font.Size

myTime = Now + TimeValue("00:00:01")
Do While Now < myTime
DoEvents
Loop

'/データラベルの移動
For i = 1 To n Step 1
With .Points(i).DataLabel
.left = hl - Len(.Text) * fsize / 2 - 7
.Top = .Top - 0.5
End With
Next i
End With

ActiveCell.Activate
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
わざわざマクロを作っていただいて申し訳ないです。

先ほど、棒グラフではできないことがわかりました。
すみません。

お礼日時:2009/09/26 03:04

Y軸はよせられないので


散布図データラベル値
左で代用します。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
散布図だと可能なんですね。
残念ながら棒グラフです。。。

お礼日時:2009/09/26 02:58

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