Steuern Sie die Länge der Anzeigeeinheit von `PlotRange`
Wenn ich ein Beispiel habe, zeichnete ich Daten wie:
ListPlot[{{-20, 2}, {-10, 1}, {10, 0.001}, {20, 0.0000001}, {80, 0.000000001}}, PlotRange -> {{-20, 80}, All}]
Welche Darstellung ergibt:

Wie kann ich PlotRange
die x-Achse alle 10 Einheiten anstatt standardmäßig alle 20 Einheiten anzeigen?
Antworten
Hier benutze ich die undokumentierte Charting`ScaledTicks
Funktion:
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}
]

Was ich über diese Funktion weiß, habe ich hauptsächlich in den Kommentaren zu dieser Antwort gelernt . Zusamenfassend:
Charting`ScaledTicks[{scalingFunction, inverseScalingFunction}][min, max, divisions]
wo divisions
kann eine Zahl sein, oder {maximum number of major ticks, number of divisions between each pair of major ticks}
, so fragt die Spezifikation, die ich oben verwendet habe, alle 10 Einheiten nach markierten Hauptstrichen, wobei zwischen jedem Hauptstrich ein Nebenstrich liegt (dh zwei Unterteilungen zwischen jedem Hauptstrich). Beachten Sie, dass das Verhalten von Abteilungen manchmal eigenartig ist. Ich gehe davon aus, dass es FindDivisions
hinter den Kulissen oder ähnliches verwendet , was immer versucht, "hübsche" / "gute" Unterteilungen gemäß einer Heuristik zu finden.