Controlar o comprimento da unidade de exibição de `PlotRange`
Se eu tiver um exemplo de dados plotados, como:
ListPlot[{{-20, 2}, {-10, 1}, {10, 0.001}, {20, 0.0000001}, {80, 0.000000001}}, PlotRange -> {{-20, 80}, All}]
Qual plotado dá:

Como posso usar PlotRange
para exibir o eixo x a cada 10 unidades em vez de a cada 20 unidades, como é por padrão?
Respostas
Aqui eu uso a Charting`ScaledTicks
função não documentada :
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}
]

O que sei sobre essa função, aprendi principalmente nos comentários a esta resposta . Em resumo:
Charting`ScaledTicks[{scalingFunction, inverseScalingFunction}][min, max, divisions]
onde divisions
pode ser um número, ou {maximum number of major ticks, number of divisions between each pair of major ticks}
, então a especificação que usei acima pede marcações principais rotuladas a cada 10 unidades, com uma marcação secundária entre cada uma (ou seja, duas divisões entre cada marcação principal). Observe que às vezes o comportamento das divisões é peculiar; Presumo que use FindDivisions
ou algo semelhante nos bastidores, que sempre tenta encontrar divisões "bonitas" / "boas" de acordo com uma heurística.