`प्लॉटरेंज` की डिस्प्ले यूनिट की लंबाई को नियंत्रित करें

Dec 30 2020

अगर मेरे पास एक उदाहरण है जैसे कि प्लॉट किया गया डेटा:

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

कौन सा प्लॉट देता है:

मैं PlotRangeडिफ़ॉल्ट रूप से प्रत्येक 20 इकाइयों के बजाय प्रत्येक 10 इकाइयों के एक्स-अक्ष को प्रदर्शित करने के लिए कैसे उपयोग कर सकता हूं ?

जवाब

3 MarcoB Dec 30 2020 at 04:18

यहाँ मैं अनैच्छिक 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 इकाइयों पर लेबल किए गए प्रमुख टिकों के लिए पूछता है, प्रत्येक प्रमुख एक के बीच एक मामूली टिक के साथ (यानी, प्रत्येक प्रमुख टिक के बीच दो विभाजन )। ध्यान दें कि कभी-कभी विभाजनों का व्यवहार विचित्र होता है; मेरा मानना ​​है कि यह FindDivisionsपर्दे के पीछे या इसी तरह का उपयोग करता है , जो हमेशा एक अनुमान के अनुसार "सुंदर" / "अच्छा" विभाजन खोजने का प्रयास करता है।