エクセル2007、
OSはWindows Vista と XPの両方です。
とあるレーダーチャートをつくり、一部ずば抜けたところもつぶすことなく表示したいのですが、どうやればいいのか分かりません。過去の質問も、バージョンが古いせいか、いまいち理解できませんでした。
たとえば、最大値100のレーダーチャートの中に、例外として150や200という項目があった場合……枠からはみ出した部分をすべて表示させる方法はありますでしょうか? グラフをすべて表示させた結果として、枠が小さくなってしまってもかまいません。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
値100以外の目盛り線を引かなくてもよくて、データの最大値が200を超えないという条件つきですが
軸の書式設定のメモリタブで
最小値:0
最大値:199
メモリ間隔:100
補助メモリ間隔:(適宜)
の設定で何とかいけると思います。
うまく描画できる最大値としては
要素の位置にもよりますが、ご質問の画像
Aの位置で200ぎりぎりいっぱい
B・Eの位置で205
C・Dの位置で250
までは何とか切れずに描画できる限界のようです。
ただし確認したのはExcel2003です。
返事遅れました。
おお、理想に近い形となりました。なるほど、最後の外枠をメモリ間隔よりわずかに小さくすることで、外枠を非表示、かつ最大値が100に見えるようにしているということですか。後は数値にあわせて上記の三項目を調整すればよいのですね。
ありがとうございました。
No.7
- 回答日時:
回答番号:No.5 をマクロ化してみました。
こちらの方はプロットエリアのサイズは元のグラフのままです。
シート上に、元のグラフが1個のみあると仮定
最大値は自動設定
計算では図形化したグラフのサイズと位置座標に少しずれが出ます。
その為、補正値を入れてズレを修正しています。
ズレの正体が掴めていません。
Sub test2()
Dim chrleft
Dim chrtop
Dim chrwidth
Dim chrheight
Dim plawidth
Dim plaheight
Dim plaleft
Dim platop
Dim maxscale
Dim x0
Dim y0
With ActiveSheet.ChartObjects(1)
chrleft = .Left
chrtop = .Top
chrwidth = .Width
chrheight = .Height
With .Chart
maxscale = .Axes(xlValue).MaximumScale
plaleft = .PlotArea.InsideLeft
platop = .PlotArea.InsideTop
plawidth = .PlotArea.InsideWidth
plaheight = .PlotArea.InsideHeight
x0 = plaleft + plawidth / 2
y0 = platop + plaheight / 2
.HasAxis(xlValue) = False
.Axes(xlValue).HasMajorGridlines = False
.Axes(xlValue).HasMinorGridlines = False
.ChartGroups(1).RadarAxisLabels.Font.ColorIndex = 2
End With
End With
ActiveSheet.ChartObjects(1).Chart.ChartArea.Copy
ActiveCell.Activate
ActiveSheet.Pictures.Paste
With ActiveSheet.Shapes(ActiveSheet.Shapes.Count)
With .PictureFormat
.CropLeft = plaleft + 6 '補正値:+6
.CropTop = platop + 5 '補正値:+5
.CropRight = chrwidth - plaleft - plawidth
.CropBottom = chrheight - platop - plaheight
End With
.LockAspectRatio = msoTrue
.Width = .Width * maxscale / 100
.Left = chrleft + (x0 - .Width / 2) + 4.5 '補正値:+4.5
.Top = chrtop + (y0 - .Height / 2) + 2 '補正値:+2
.ZOrder msoSendToBack
End With
With ActiveSheet.ChartObjects(1).Chart
.HasAxis(xlValue) = True
.HasAxis(xlCategory) = True
.Axes(xlValue).HasMajorGridlines = True
.Axes(xlValue).HasMinorGridlines = True
.Axes(xlValue).MaximumScale = 100
.PlotArea.Interior.ColorIndex = xlNone
.ChartArea.Interior.ColorIndex = xlNone
.ChartGroups(1).RadarAxisLabels.Font.ColorIndex = xlAutomatic
End With
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, chrleft, chrtop, chrwidth, chrheight)
.Fill.ForeColor.SchemeColor = 1
.Line.Weight = 0
.ZOrder msoSendToBack
End With
End Sub
尚、回答番号:No.6の元のグラフも最大値は自動設定で考えています。
マクロは試したことがないため、これを機に学んでみようかと思います。いただいた文字列(?)を入力したところ、作業によって重ねられたチャートが表示されました。私の下準備が足りないせいか、なぜかはみ出ているところは表示されませんでしたが……。
皆々様のおかげで幾多の方法を確認できました。
本当にありがとうございました。
No.6
- 回答日時:
返事を頂けませんが、もうみていないのですか?
もうひとつ考えてみました。
元のグラフをコピーして、最大値を100、グラフエリアを塗り潰しなし、にして重ねあわせます。
元のグラフは、数値軸、軸ラベル、目盛線等を非表示にしておきます。
重ねたときに、プロット部分がぴったり合うように、プロットエリアのサイズと位置を調整しなければなりません。
この作業が面倒なのでマクロを組んでみました。
提示された例で試した限りでは上手く動いています。
ただし、プロットエリアのサイズが小さくなるので、相対的にグラフエリアの余白が大きくなります。
元のグラフを選択しておいてマクロを実行してみてください。
(他にグラフはないものと仮定しています。)
Sub test1()
Dim chrleft
Dim chrtop
Dim plawidth
Dim plaheight
Dim plaleft
Dim platop
Dim maxscale
Dim x0
Dim y0
With ActiveChart
With .Axes(xlValue)
maxscale = .MaximumScale
End With
chrleft = .Parent.Left
chrtop = .Parent.Top
plawidth = .PlotArea.InsideWidth
plaheight = .PlotArea.InsideHeight
x0 = .PlotArea.InsideLeft + plawidth / 2
y0 = .PlotArea.InsideTop + plaheight / 2
End With
ActiveChart.ChartArea.Copy
ActiveSheet.Paste
ActiveSheet.ChartObjects(1).Activate
With ActiveChart
.HasAxis(xlValue) = False
.Axes(xlValue).HasMajorGridlines = False
.Axes(xlValue).HasMinorGridlines = False
End With
ActiveSheet.ChartObjects(2).Activate
With ActiveChart
With .Axes(xlValue)
.MaximumScale = 100
End With
.Parent.Left = chrleft
.Parent.Top = chrtop
.PlotArea.InsideHeight = plaheight * 100 / maxscale
.PlotArea.InsideWidth = plawidth * 100 / maxscale
.PlotArea.InsideLeft = x0 - .PlotArea.InsideWidth / 2
.PlotArea.InsideTop = y0 - .PlotArea.InsideHeight / 2
.ChartArea.Interior.ColorIndex = xlNone
End With
End Sub
No.5
- 回答日時:
少々手間かもしれませんが、図形を重ね合わせて誤魔化せばどうでしょうか。
A:最大値100で固定したグラフのプロットエリアを「塗りつぶしなし」に設定
B:最大値100で固定したグラフと同サイズの四角形を用意
次に、最大値非固定のグラフを描画し図形に加工する。
最大値100で固定したグラフとプロットされた図形を同サイズに調整
プロットされた図形部とプロットエリア以外は非表示に設定
調整されたグラフをコピーし、図として貼り付け
C:図形部の左右上下をトリミング
B、C、A、の順で重ね合わせる(Aを「最前面に移動」Bを「最背面に移動」)
多忙でしばらくパソコンから離れており、回答の確認が遅れました、すいません。何度も例を作成していただきありがとうございます。
当方、お恥ずかしながらエクセルの操作に慣れていませんので、十分な理解に至るまでまだ時間を要しますが、No.3さんのと方法は似ていると考えてよろしいでしょうか? 教えていただいた方法がうまくできないので、じっくり時間をかけて取り組みたいと思います。
No.4
- 回答日時:
この回答への補足
返事遅れました。
すいません、質問文にある「過去の質問」とは、それのことです。あまり参考にならなかったので、あらためて質問したしだいです。
No.3
- 回答日時:
こんばんは!
参考になるかどうか判りませんが・・・
無理矢理↓の画像のように作ってみました。
どうしても最大値を100で作成したい!ということですよね?
レーダーチャートでグラフを作成したあとに
オートシェイプの三角形を貼り付けて、画面を拡大し、微調整しています。
そして、系列の色と三角形の塗りつぶしの色をあわせてみました。
(系列内に三角形の余分な直線が入りますので、とりあえずオートシェイプの「線なし」にして、あとからオートシェイプの直線を書き入れています)
「B 150」に関してはテキストボックスの線なしで後から貼り付けています。
以上、かなり強引な方法ですが、
他に良い方法があれば読み流してくださいね。m(__)m
返事遅れました。
わざわざ作成した画像まで添付していただき痛み入ります。
途中にメモリ間隔の枠があるので、こちらも有効ですね。時間の許すときに視野に入れてみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
レーダーチャートで100%設定で表示する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの線だけをコピペしたい!
-
ワードでCos、sinの図を書きたい
-
wordで数直線・グラフを作成
-
Excelのグラフで
-
【至急】Excelで睡眠時間のグラ...
-
はみ出たレーダーチャートの表...
-
エクセルのグラフの色を統一す...
-
wordの関数式の求め方
-
Excelで膨大な系列数のグラフを...
-
Excelのグラフ「プロット...
-
エクセルで複数グラフの重ね合わせ
-
エクセルで枠飾り
-
パワーポイントの画面がずれる
-
ヘッダーとフッダーの縦書き方法
-
Excelで隠れてしまった図...
-
WORDの表をコピーして張り...
-
エクセルの表内の軸が左寄りに...
-
エクセルでグラフの横軸を等間...
-
イラストレーターの面積を求める
-
ワードで作った表をパワーポイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフに上下限値の...
-
エクセルのグラフの色を統一す...
-
【至急】Excelで睡眠時間のグラ...
-
グラフの線だけをコピペしたい!
-
はみ出たレーダーチャートの表...
-
エクセルでグラフの平均化を教...
-
グラフの上側が空いているので...
-
Excelのグラフで
-
Excelのグラフ「プロット...
-
EXELグラフをWORDに貼り付ける...
-
Excelのグラフで上と右の枠線を...
-
Excelグラフ
-
excelで線と線の間を塗りつぶし...
-
wordで数直線・グラフを作成
-
ワードでCos、sinの図を書きたい
-
マイナスを表現する場合はどの...
-
エクセル グラフのプロットエ...
-
Excel:角ばったグラフの線を滑...
-
Excel2007のグラフで右の枠線を...
-
Sma4のグラフ作製
おすすめ情報