PlotRange'nin görüntüleme birimi uzunluğunu kontrol edin

Dec 30 2020

Örnek olarak çizilen bir veriye sahipsem, örneğin:

ListPlot[{{-20, 2}, {-10, 1}, {10, 0.001}, {20, 0.0000001}, {80, 0.000000001}}, PlotRange -> {{-20, 80}, All}] 

Hangi çizilir:

PlotRangeX eksenini varsayılan olarak her 20 birim yerine her 10 birimde görüntülemek için nasıl kullanabilirim ?

Yanıtlar

3 MarcoB Dec 30 2020 at 04:18

Burada belgelenmemiş Charting`ScaledTicks işlevi kullanıyorum:

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}
]

Bu işlev hakkında bildiklerimi çoğunlukla bu cevaba yapılan yorumlarda öğrendim . Kısacası:

Charting`ScaledTicks[{scalingFunction, inverseScalingFunction}][min, max, divisions]

nerede divisionsbir sayı olabilir, ya da {maximum number of major ticks, number of divisions between each pair of major ticks}bu nedenle yukarıda kullandığım özellik, her bir majör arasında bir küçük tik ile (yani, her bir ana tik arasında iki bölüm ) olmak üzere her 10 ünitede bir etiketli majör işaretler ister . Bazen bölümlerin davranışının ilginç olduğunu unutmayın; Her FindDivisionszaman bir buluşsal yönteme göre "güzel" / "iyi" bölümler bulmaya çalışan perde arkasında kullandığını veya benzerini kullandığını varsayıyorum .