Kontrol panjang unit tampilan `PlotRange`
Jika saya memiliki contoh data yang diplot seperti:
ListPlot[{{-20, 2}, {-10, 1}, {10, 0.001}, {20, 0.0000001}, {80, 0.000000001}}, PlotRange -> {{-20, 80}, All}]
Yang diplot memberi:
Bagaimana saya dapat menggunakan PlotRange
untuk menampilkan sumbu x setiap 10 unit daripada setiap 20 unit sebagaimana secara default?
Jawaban
Di sini saya menggunakan Charting`ScaledTicks
fungsi tidak berdokumen :
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}
]
Apa yang saya ketahui tentang fungsi ini kebanyakan saya pelajari di komentar untuk jawaban ini . Pendeknya:
Charting`ScaledTicks[{scalingFunction, inverseScalingFunction}][min, max, divisions]
di mana divisions
bisa berupa angka, atau {maximum number of major ticks, number of divisions between each pair of major ticks}
, jadi spesifikasi yang saya gunakan di atas meminta tanda centang mayor berlabel setiap 10 unit, dengan satu tanda centang kecil di antara setiap tanda utama (yaitu, dua divisi di antara setiap tanda utama). Perhatikan bahwa terkadang perilaku perpecahan itu unik; Saya berasumsi bahwa itu menggunakan FindDivisions
atau serupa di belakang layar, yang selalu berusaha menemukan divisi "cantik" / "baik" menurut heuristik.