web-dev-qa-db-ja.com

Excelで縦棒グラフのx軸の最小/最大を変更するにはどうすればよいですか?

ここに二項分布の縦棒グラフがあり、235のサイコロの目で6の目を振ることが期待できる回数を示しています。

alt text

注:p=1/6n=235の二項質量分布と呼ぶこともできます

さて、そのグラフはややスクオッシュされています。横軸のMinimumおよびMaximumを変更します。それらを次のように変更します。

  • 最小: 22
  • 最大: 57

グラフのこのセクションを拡大したいのですが:

alt text

ボーナスは、22と57がどのようにして到達したかを言える読者を指しています。

これがScatter Excelのグラフの場合、横軸の最小値と最大値を必要に応じて調整できます。

alt text

残念ながら、これはColumnチャートであり、縦軸の最小値と最大値を調整するオプションはありません。

alt text

photoshopのグラフに対してかなり恐ろしいことができますが、その後はあまり役に立ちません。

alt text

質問:Excel(2007)で縦棒グラフのx軸の最小値と最大値を変更するにはどうすればよいですか?

10
Ian Boyd

チャートを右クリックして、[データの選択]を選択します。シリーズを選択し、[編集]を選択します。 「シリーズ値」をA1:A235にする代わりに、A22:A57または同様のものにします。つまり、すべてをグラフ化してその一部を非表示にするのではなく、必要なデータをグラフ化するだけです。

6
dkusleika

これはまったく異なるアプローチです。

以下のスクリーンショットは、列AおよびBのデータと一連のグラフを含むワークシートの上部を示しています。

左上のグラフは、単にXY散布図です。

右上のグラフは、X軸が必要に応じてスケーリングされた分布を示しています。

左中央のグラフにエラーバーが追加されました。

中央右のグラフは、垂直誤差範囲を変更する方法を示しています。垂直誤差範囲を選択し、Ctrl + 1(数字の1)を押してフォーマットします。マイナス方向、エンドキャップなし、パーセンテージを選択し、表示するパーセンテージとして100%を入力します。

水平誤差範囲を選択し、Deleteキー(左下のグラフ)を押します。

マーカーも線も使用しないようにXYシリーズをフォーマットします(右下のグラフ)。

Data and evolution of the chart

最後に、垂直誤差範囲を選択し、幅が太い色付きの線を使用するようにフォーマットします。これらの誤差範囲は4.5ポイントを使用します。

Finished chart showing selected data

3
Jon Peltier

同じ問題に直面しましたが、散布図以外のグラフに機能がないのは困ります。

私が見つけた簡単な回避策は、上記のように完全なグラフをプロットすることでした。あなたの場合、A1:A235のデータをプロットします。

次に、ソースデータを含むワークシートで、行A1:A21およびA58:A235を選択して「非表示」にします(右クリックして[非表示]を選択)。

グラフに戻ってフリックすると、A22:A57のデータのみを表示するように更新されます。

できた

2
Andy D

次のマクロを実行して、x軸に制限を設定できます。この種類のx軸はカウントに基づいています。つまり、最初の列に何らかの番号が付けられているからといって、それでも軸のスケールでは1です。例列5から36をプロットする場合は、x軸の最小値として5を設定し、x軸の最大値として36を設定します。 (ここで実行しようとしているスケーリングの種類の日付は入力しないでください。)これが、「スケーリング不可」の軸を再スケーリングする唯一の方法です。乾杯!

Sub e1_Min_X_Axis()
On Error GoTo ErrMsg

Min_X_Axis = Application.InputBox(Prompt:="Enter Minimum Date (MM/DD/YYYY), Minimum Number, or Select Cell", Type:=1)
If Min_X_Axis = "False" Then
    Exit Sub
Else
    ActiveChart.Axes(xlCategory).MinimumScale = Min_X_Axis
End If
Exit Sub    

ErrMsg:
    MsgBox ("You must be in a chart."), , "Oops!"

End Sub

Sub e2_Max_X_Axis()
On Error GoTo ErrMsg

Max_X_Axis = Application.InputBox(Prompt:="Enter Maximum Date (MM/DD/YYYY), Number, or Select Cell", Type:=1)

If Max_X_Axis = "False" Then
    Exit Sub
Else
    ActiveChart.Axes(xlCategory).MaximumScale = Max_X_Axis
End If
Exit Sub

ErrMsg:
    MsgBox ("You must be in a chart."), , "Oops!"

End Sub
1
Phil T

Excelオフセットを使用して、X軸のズームを変更できます。これを見てください チュートリアル

0
JcMaco

左軸を選択し、右クリックして「フォーマット軸」を選択すると、最小/最大値を固定値として設定できる軸オプションが表示されます。これらの設定で遊んで、好みの結果を得ることができます。

0
Phil J

これがさらに別のアプローチです。 Excelの使い方を知っていれば、Excelは柔軟ではありません。

横軸をダブルクリックしてフォーマットします。スケールタイプを日付に変更します。 Excelが軸ラベルに日付形式を適用する場合は、数値形式に戻します。

軸の最小値には1/22/1900(22日目)、軸の最大値には2/26/1900(57日目)を選択します。

0
Jon Peltier

@dkusleikaに関連していますが、より動的です。

これは、列Aに0から235の番号が付いたワークシートの上部で、列Bにフェアダイの235回のトスで多くの6が投げられる確率です。最初の列の最小値と最大値はE1とE2、およびデータの初期チャート。

Data and chart of all of the data

いくつかのダイナミックレンジ名(Excelが「名前」と呼ぶもの)を定義します。リボンの[数式]タブで、[名前の定義]をクリックし、「counts」という名前を入力して、アクティブなワークシートのスコープを与え(デフォルトの名前はSheet1のままにしておきます)、次の数式を入力します。

= INDEX(Sheet1!$ A $ 2:$ A $ 237、MATCH(Sheet1!$ E $ 1、Sheet1!$ A $ 2:$ A $ 237)):INDEX(Sheet1!$ A $ 2:$ A $ 237、MATCH(Sheet1!$ E $ 2、Sheet1!$ A $ 2:$ A $ 237))

これは基本的に、列AがセルE1の最小値を含むところから始まり、列AがセルE2の最大値を含むところで終わる範囲を取ると言います。これらはX値になります。

[数式]タブ> [名前の管理]をクリックし、「カウント」を選択してダイアログ下部の[参照先]に数式を入力し、シートで目的の範囲が強調表示されていることを確認します。

[名前の管理]ダイアログで、[新規]をクリックし、「probs」という名前を入力して、はるかに単純な式を入力します

= OFFSET(Sheet1!counts、0,1)

つまり、カウントの0行下と1行右の範囲をとります。これらはY値です。

チャートを右クリックして、ポップアップメニューから[データの選択]を選択します。 Horizo​​ntal(Category)Axis Labelsの下で、Editをクリックして変更します。

= Sheet1!$ A $ 2:$ A $ 237

= Sheet1!counts

enterをクリックします。次に、左側のボックスにリストされているシリーズを選択し、[編集]をクリックします。から系列値を変更

= Sheet1!$ B $ 2:$ B $ 237

= Sheet1!probs

適切に実行すると、チャートは次のようになります。

Dynamic chart plotting selected data range

セルE1またはE2の値を変更すると、グラフが変更され、新しい最小値と最大値が反映されます。

0
Jon Peltier