ইমশো () এর চিত্র খুব ছোট


98

আমি মাতালাবের ইমেজস () এর অনুরূপ থেকে ইম্শো () ব্যবহার করে একটি নিম্পল অ্যারের কল্পনা করার চেষ্টা করছি।

imshow(random.rand(8, 90), interpolation='nearest')

ধূসর উইন্ডোর কেন্দ্রে ফলাফল প্রাপ্ত চিত্রটি খুব কম, তবে বেশিরভাগ স্থানই অনাকাঙ্ক্ষিত। চিত্রটি আরও বড় করতে আমি কীভাবে পরামিতিগুলি সেট করতে পারি? আমি ডুমুরের আকার = (এক্সএক্স, এক্সএক্স) চেষ্টা করেছি এবং এটি আমার যা চাই তা নয়। ধন্যবাদ!


4
আমার মতো অন্যরা এই পোস্টে অবতরণের জন্য লড়াই করার ক্ষেত্রে কেবল এই মন্তব্যটি যুক্ত করুন --- যখন x এবং y ডেটার পরিমাণটি বিভিন্ন ক্রমের হয় তখন সমস্যাটি ঘটে (সর্বাধিক দৃশ্যমান); @ বিএমইউর উত্তর এটি ঠিক করে
মায়াররিয়র

উত্তর:


147

আপনি একটি দিতে হবে না করেন তাহলে aspectআর্গুমেন্ট প্রাপ্ত করতে imshow, এটি জন্য মান ব্যবহার করা হবে image.aspectআপনার matplotlibrc। একটি নতুন মধ্যে এই মান জন্য ডিফল্ট matplotlibrcহয় equal। সুতরাং imshowসমান দিক অনুপাত সহ আপনার অ্যারের প্লট করবে।

আপনি সেট করতে পারেন একটি সমান দৃষ্টিভঙ্গি প্রয়োজন না থাকে তাহলে aspectকরতেauto

imshow(random.rand(8, 90), interpolation='nearest', aspect='auto')

যা নিম্নলিখিত চিত্র দেয়

imshow- অটো

আপনি যদি একটি সমান দিক অনুপাত চান তবে আপনাকে দিক figsizeঅনুযায়ী আপনার মানিয়ে নিতে হবে

fig, ax = subplots(figsize=(18, 2))
ax.imshow(random.rand(8, 90), interpolation='nearest')
tight_layout()

যা আপনাকে দেয়:

imshow- সমান


দিক অনুপাত নির্ধারণের পাশাপাশি, রঙিন টাইলগুলির আকার (সংজ্ঞা) পাওয়া কি সম্ভব?
আলেকজান্ডার সিএসকা

37

এটি অদ্ভুত, এটি অবশ্যই আমার জন্য কাজ করে:

from matplotlib import pyplot as plt

plt.figure(figsize = (20,2))
plt.imshow(random.rand(8, 90), interpolation='nearest')

আমি "MacOSX" ব্যাকএন্ড, বিটিডব্লু ব্যবহার করছি।


4
পরিষ্কার হওয়ার জন্য, এটি অবশ্যই plt.figure(figsize = (x_new, y_new))এবং অবশ্যই ইমোগশোর জন্য () আপনাকে এখনই আইওমেজ আমদানি করতে হবে কারণ সায়্পাই চিত্রশালাটি () শীঘ্রই অবচয় করা হবে
Agile Bean

4
@ অজিলবিয়ান এটি কার্যকর হবে যদি আপনি হয় সেই তথ্য দিয়ে এই পোস্টটি সম্পাদনা করতে বা এই প্রশ্নের উত্তর হিসাবে যুক্ত করতে চান
বেক্সেক্স

2

আমিও পাইথনে নতুন new এখানে এমন কিছু যা দেখতে চাইছে তা করবে

axes([0.08, 0.08, 0.94-0.08, 0.94-0.08]) #[left, bottom, width, height]
axis('scaled')`

আমি বিশ্বাস করি এটি ক্যানভাসের আকারটি স্থির করে।


1

আপডেট 2020

@ বাক্সএক্সএক্সএক্সএর অনুরোধ অনুসারে, এখানে একটি আপডেট রয়েছে কারণ এরই মধ্যে অবনতি হয়েছে random.rand

এটি ম্যাটপ্ল্লোলিপ 3.2.1 এর সাথে কাজ করে:

from matplotlib import pyplot as plt
import random
import numpy as np

random = np.random.random ([8,90])

plt.figure(figsize = (20,2))
plt.imshow(random, interpolation='nearest')

এই প্লটগুলি:

এখানে চিত্র বর্ণনা লিখুন

এলোমেলো নম্বর পরিবর্তন করতে, আপনি পরীক্ষা করতে পারেন np.random.normal(0,1,(8,90))(এখানে অর্থ = 0, মান বিচ্যুতি = 1)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.