`PlotRange`の表示単位の長さを制御します
次のようなプロットされたデータの例がある場合:
ListPlot[{{-20, 2}, {-10, 1}, {10, 0.001}, {20, 0.0000001}, {80, 0.000000001}}, PlotRange -> {{-20, 80}, All}]
プロットされたものは次のとおりです。
PlotRange
デフォルトの20単位ごとではなく、10単位ごとにx軸を表示するにはどうすればよいですか?
回答
3 MarcoB
ここでは、文書化されていないCharting`ScaledTicks
関数を使用します。
ListPlot[
{{-20, 2}, {-10, 1}, {10, 0.001}, {20, 0.0000001}, {80, 0.000000001}},
PlotRange -> {{-20, 80}, All},
Ticks -> {
Charting`ScaledTicks[{Identity, Identity}][-20, 80, {10, 2}],
Automatic}
]
この関数について私が知っていることは、この回答へのコメントで主に学びました。要するに:
Charting`ScaledTicks[{scalingFunction, inverseScalingFunction}][min, max, divisions]
ここdivisions
で、は数値、またはである可能性がある{maximum number of major ticks, number of divisions between each pair of major ticks}
ため、上記で使用した仕様では、10単位ごとにラベル付きのメジャーティックが必要であり、各メジャーティックの間に1つのマイナーティックがあります(つまり、各メジャーティックの間に2つの分割があります)。分割の動作が風変わりな場合があることに注意してください。FindDivisions
ヒューリスティックに従って常に「きれいな」/「良い」区分を見つけようとする舞台裏で、または同様のものを使用していると思います。