plt.imshow()
অফিসিয়াল গাইড থেকে , আমরা জানি যে দিকটি অক্ষগুলির দিক অনুপাতকে নিয়ন্ত্রণ করে। আমার কথায় ভাল, দিকটি হ'ল এক্স ইউনিট এবং y ইউনিটের অনুপাত । আমরা বেশিরভাগ সময় এটিকে 1 হিসাবে রাখতে চাই যেহেতু আমরা অজানাভাবে পরিসংখ্যানগুলি বিকৃত করতে চাই না। তবে, প্রকৃতপক্ষে এমন কিছু ক্ষেত্রে রয়েছে যে আমাদের দিকটি ১ ব্যতীত একটি মান নির্দিষ্ট করা দরকার, প্রশ্নকর্তা একটি ভাল উদাহরণ দিয়েছিলেন যে এক্স এবং ওয়াই অক্ষের বিভিন্ন শারীরিক একক থাকতে পারে। ধরা যাক এক্স কিমিটারে এবং y এর মধ্যে মি। সুতরাং একটি 10x10 ডেটার জন্য, সীমাটি [0,10km, 0,10m] হওয়া উচিত = [0, 10000m, 0, 10m]। এই জাতীয় ক্ষেত্রে, আমরা যদি ডিফল্ট দিক = 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,0,10] এর সমান হওয়া উচিত। ডিফল্ট দিকটি ব্যবহার করে আমাদের আয়তক্ষেত্রাকার রঙ পিক্সেল থাকতে পারে, যদিও ইউনিট পিক্সেলটি এখনও বর্গক্ষেত্রের!
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
বিকল্প সম্পর্কে কিছুই বলে না nothing এটিy-axis
প্রদত্ত স্কেলারের দ্বারা স্কেল হিসাবে উপস্থিত হয় ।