আমি কীভাবে আমার চিত্রটির আকার পরিবর্তন করব যাতে এটি মুদ্রণের জন্য উপযুক্ত?
উদাহরণস্বরূপ, আমি A4 কাগজটি ব্যবহার করতে চাই, যার মাত্রা ১১.7 ইঞ্চি দ্বারা ল্যান্ডস্কেপ অভিযোজনে .2.২7 ইঞ্চি।
আমি কীভাবে আমার চিত্রটির আকার পরিবর্তন করব যাতে এটি মুদ্রণের জন্য উপযুক্ত?
উদাহরণস্বরূপ, আমি A4 কাগজটি ব্যবহার করতে চাই, যার মাত্রা ১১.7 ইঞ্চি দ্বারা ল্যান্ডস্কেপ অভিযোজনে .2.২7 ইঞ্চি।
উত্তর:
চিত্রটি কত বড় তা উল্লেখ করে আপনাকে সময়ের আগে ম্যাটপ্ল্লিটব চিত্র এবং অক্ষগুলি তৈরি করতে হবে:
from matplotlib import pyplot
import seaborn
import mylib
a4_dims = (11.7, 8.27)
df = mylib.load_data()
fig, ax = pyplot.subplots(figsize=a4_dims)
seaborn.violinplot(ax=ax, data=df, **violin_options)
sns.lmplot()
heightএবং aspectপরামিতি এখানে ব্যাখ্যা stackoverflow.com/a/51602446/2412831
আপনি সিউর্ন পদ্ধতিতে rcকী দিয়ে প্যারামিটারে অভিধান পাস করে চিত্রের আকারও সেট করতে পারেন :'figure.figsize'set
import seaborn as sns
sns.set(rc={'figure.figsize':(11.7,8.27)})
অন্যান্য বিকল্প ব্যবহার করতে হতে পারে figure.figsizeএর rcParamsনীচের হিসাবে সেট চিত্রে মাপ:
from matplotlib import rcParams
# figure size in inches
rcParams['figure.figsize'] = 11.7,8.27
ম্যাটপ্ল্লোলিব ডকুমেন্টেশনে আরও বিশদ পাওয়া যাবে
.set()আগে কল করতে হবে.set_style()
আপনি প্রসঙ্গটি সেট করতে পারেন posterবা ম্যানুয়ালি সেট করতে পারেন fig_size।
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
np.random.seed(0)
n, p = 40, 8
d = np.random.normal(0, 2, (n, p))
d += np.log(np.arange(1, p + 1)) * -5 + 10
# plot
sns.set_style('ticks')
fig, ax = plt.subplots()
# the size of A4 paper
fig.set_size_inches(11.7, 8.27)
sns.violinplot(data=d, inner="points", ax=ax)
sns.despine()
fig.savefig('example.png')
sns.lmplot()
মনে রাখবেন যদি আপনি সমুদ্রজাত একটি "ব্যক্তিত্ব স্তর" পদ্ধতি পাস করার চেষ্টা করছেন (যেমন lmplot, catplot/ factorplot, jointplot) আপনি এবং এই আর্গুমেন্ট মধ্যে ব্যবহার উল্লেখ করা উচিত পারবেন heightএবং aspect।
sns.catplot(data=df, x='xvar', y='yvar',
hue='hue_bar', height=8.27, aspect=11.7/8.27)
দেখুন https://github.com/mwaskom/seaborn/issues/488 এবং matplotlib অবজেক্ট ওরিয়েন্টেড ইন্টারফেস ব্যবহার করে ষড়যন্ত্র সমুদ্রজাত সঙ্গে সত্য যে চিত্রে স্তর পদ্ধতি আনুগত্য করবেন না এবং অক্ষ বিশেষ উল্লেখ না আরও বিশদের জন্য।
এটি কাজ করবে।
from matplotlib import pyplot as plt
import seaborn as sns
plt.figure(figsize=(15,16))
sns.countplot(data=yourdata, ...)
আমার প্লটের জন্য (একটি এসএনএস ফ্যাক্টরপ্লট) প্রস্তাবিত উত্তরটি ঠিক কাজ করে না।
এইভাবে আমি ব্যবহার করি
plt.gcf().set_size_inches(11.7, 8.27)
ঠিক সমুদ্র সৈকতের সাথে প্লটের পরে (সুতরাং সমুদ্রের দিকে কোনও কুড়াল পাস করার বা আরসি সেটিংস পরিবর্তন করার দরকার নেই)।
python g = sns.FacetGrid(df.set_index('category'), col="id") pyplot.gcf().set_size_inches(11.7, 8.27) g.map(lambda data, color: data.plot.barh(color=color), "count")
sns.FacetGridএকটি হিসাব মান (দ্বারা সেট অনুযায়ী একটি চিত্র আকার সেট হবে heightএবং aspect) এবং চিত্রে আকার সরাসরি পর সমুদ্রজাত চক্রান্ত কাজ করবে পরিবর্তন। চিত্রের আকার পরিবর্তন করার পরে প্লটের অন্যান্য সূক্ষ্ম সুরকরণ ঘটতে পারে
মাল্টি প্লট গ্রিড অবজেক্টগুলি ফিরিয়ে আনা "ফিগার লেভেল" পদ্ধতি সম্পর্কিত এলজের জবাব ছাড়াও নীচের পদ্ধতির সাহায্যে চিত্রের উচ্চতা এবং প্রস্থকে স্পষ্টভাবে (যা দিক অনুপাত ব্যবহার না করে) সেট করা সম্ভব:
import seaborn as sns
g = sns.catplot(data=df, x='xvar', y='yvar', hue='hue_bar')
g.fig.set_figwidth(8.27)
g.fig.set_figheight(11.7)
set_figwidthএবং set_figheightগ্রিড বস্তুর জন্য ভাল কাজ। >>> সমুদ্র সৈকত আমদানি করুন >>> পাইপ্লট হিসাবে matplotlib.pyplot আমদানি করুন >>> টিপস = seaborn.load_dataset ("টিপস") >>> g = সমুদ্রসংশ্লিষ্ট.ফ্রেডগ্রিড (টিপস, কল = "সময়", সারি = "ধূমপায়ী") >>> g = g.map (pyplot.hist, "মোট_বিল") >>> g.fig.set_figwidth (10) >>> g.fig.set_figheight (10)
পল এইচ এবং জে লি দ্বারা শীর্ষ উত্তরগুলি সমস্ত ধরণের সমুদ্র সৈকতের চিত্রগুলির জন্য কাজ করে না। জন্য FacetGridপ্রকার (উদাহরণস্বরূপ sns.lmplot()), ব্যবহার sizeএবং aspectপ্যারামিটার।
Size দিক অনুপাত বজায় রেখে উচ্চতা এবং প্রস্থ উভয়ই পরিবর্তন করে।
Aspect উচ্চতা অবিচ্ছিন্ন রেখে শুধুমাত্র প্রস্থ পরিবর্তন করে।
আপনি এই দুটি প্যারামিটারের সাথে খেলতে সর্বদা আপনার পছন্দসই আকারটি পেতে পারেন।