से plt.imshow()
आधिकारिक गाइड, हम उस पहलू नियंत्रण पता कुल्हाड़ियों का पहलू अनुपात। वैसे मेरे शब्दों में, पहलू x इकाई और y इकाई का अनुपात है । अधिकांश समय हम इसे 1 के रूप में रखना चाहते हैं क्योंकि हम अनायास ही आंकड़ों को विकृत नहीं करना चाहते हैं। हालांकि, वास्तव में ऐसे मामले हैं जिन्हें हमें 1 के अलावा एक पहलू को निर्दिष्ट करने की आवश्यकता है। प्रश्नकर्ता ने एक अच्छा उदाहरण प्रदान किया कि x और y अक्ष में अलग-अलग भौतिक इकाइयाँ हो सकती हैं। मान लेते हैं कि x किमी में है और m में y है। इसलिए 10x10 डेटा के लिए, सीमा [0,10 किमी, 0,10 मीटर] = [0, 10000 मीटर, 0, 10 मीटर] होनी चाहिए। ऐसे मामले में, यदि हम डिफ़ॉल्ट पहलू = 1 का उपयोग करना जारी रखते हैं, तो आंकड़े की गुणवत्ता वास्तव में खराब है। इसलिए हम अपना आंकड़ा अनुकूलित करने के लिए पहलू = 1000 निर्दिष्ट कर सकते हैं। निम्नलिखित कोड इस विधि का वर्णन करते हैं।
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
rng=np.random.RandomState(0)
data=rng.randn(10,10)
plt.imshow(data, origin = 'lower', extent = [0, 10000, 0, 10], aspect = 1000)

फिर भी, मुझे लगता है कि एक विकल्प है जो प्रश्नकर्ता की मांग को पूरा कर सकता है। हम बस [0,10,0,10] के रूप में सीमा निर्धारित कर सकते हैं और इकाइयों को निरूपित करने के लिए अतिरिक्त xy अक्ष लेबल जोड़ सकते हैं। निम्नानुसार कोड।
plt.imshow(data, origin = 'lower', extent = [0, 10, 0, 10])
plt.xlabel('km')
plt.ylabel('m')

एक सही आंकड़ा बनाने के लिए , हमें हमेशा यह ध्यान रखना चाहिए कि , x_max-x_min = x_res * data.shape[1]
और y_max - y_min = y_res * data.shape[0]
कहाँ extent = [x_min, x_max, y_min, y_max]
। डिफ़ॉल्ट रूप से aspect = 1
, जिसका अर्थ है कि इकाई पिक्सेल वर्ग है। यह डिफ़ॉल्ट व्यवहार भी x_res और y_res के लिए ठीक काम करता है जिनके अलग-अलग मूल्य हैं। पिछले उदाहरण का विस्तार करते हुए, मान लेते हैं कि x_res 1.5 है जबकि y_res 1 है। इसलिए सीमा [0,15,010] के बराबर होनी चाहिए। डिफ़ॉल्ट पहलू का उपयोग करते हुए, हमारे पास आयताकार रंगीन पिक्सेल हो सकते हैं, जबकि यूनिट पिक्सेल अभी भी वर्ग है!
plt.imshow(data, origin = 'lower', extent = [0, 15, 0, 10])
data=rng.randn(10,5)
plt.imshow(data, origin = 'lower', extent = [0, 5, 0, 5])

रंग पिक्सेल का पहलू है x_res / y_res
। इकाई पिक्सेल (यानी aspect = x_res / y_res = ((x_max - x_min) / data.shape[1]) / ((y_max - y_min) / data.shape[0])
) के पहलू पर अपना पहलू स्थापित करना हमेशा चौकोर रंग पिक्सेल देगा। हम पहलू = 1.5 को बदल सकते हैं ताकि एक्स-अक्ष इकाई 1.5 गुना y- अक्ष इकाई हो, जिससे एक वर्ग रंग पिक्सेल और वर्ग पूरे चित्र लेकिन आयताकार पिक्सेल इकाई हो। जाहिर है, यह आम तौर पर स्वीकार नहीं किया जाता है।
data=rng.randn(10,10)
plt.imshow(data, origin = 'lower', extent = [0, 15, 0, 10], aspect = 1.5)

सबसे अवांछित मामला यह है कि सेट पहलू एक मनमाना मूल्य है, जैसे 1.2, जो न तो वर्ग इकाई पिक्सेल और न ही वर्ग रंग पिक्सेल को जन्म देगा।
plt.imshow(data, origin = 'lower', extent = [0, 15, 0, 10], aspect = 1.2)

लंबी कहानी छोटी, यह हमेशा सही सीमा निर्धारित करने के लिए पर्याप्त है और मैटप्लोटलिब को हमारे लिए शेष चीजें करने दें (भले ही x_res! = Y_res)! पहलू बदलो तभी जब यह होना चाहिए।
scalar
विकल्प के बारे में कुछ नहीं कहते हैं । यहy-axis
दिए गए स्केलर द्वारा पैमाने पर दिखाई देता है ।