প্লট.নেউ () -এ ত্রুটি: চিত্রের মার্জিন খুব বড়, স্ক্যাটার প্লট


114

আমি একটি সমাধানের জন্য বিভিন্ন প্রশ্নের সন্ধান করেছি এবং আমি যা প্রস্তাবিত হয়েছিল তা চেষ্টা করেছি কিন্তু এটি কার্যকর করার জন্য কোনও সমাধান আমি পাইনি।

যতবার আমি এই কোডটি চালাতে চাই তা সর্বদা এটি বলে:

প্লট.নেউ () -এ ত্রুটি: চিত্রের প্রান্তটি খুব বড়

এবং আমি এটি ঠিক করতে জানি না। আমার কোডটি এখানে:

par(mfcol=c(5,3))
hist(RtBio, main="Histograma de Bio Pappel")
boxplot(RtBio, main="Diagrama de Caja de Bio Pappel")
stem(RtBio)
plot(RtBio, main="Gráfica de Dispersión")

hist(RtAlsea, main="Histograma de Alsea")
boxplot(Alsea, main="Diagrama de caja de Alsea")
stem(RtAlsea)
plot(RtTelev, main="Gráfica de distribución de Alsea")

hist(RtTelev, main="Histograma de Televisa")
boxplot(telev, main="Diagrama de Caja de Televisa")
stem(Telev)
plot(Telev, main="Gráfica de dispersión de Televisa")

hist(RtWalmex, main="Histograma de Walmex")
boxplot(RtWalmex, main="Diagrama de caja de Walmex")
stem(RtWalmex)
plot(RtWalmex, main="Gráfica de dispersión de Walmex")

hist(RtIca, main="Histograma de Ica")
boxplot(RtIca, main="Gráfica de caja de Ica")
stem(RtIca)
plot(RtIca, main="Gráfica de dispersión de Ica")

আমি কি করতে পারি?



4
মার্জিনগুলি আপনার চিত্রের জন্য খুব বড় বলে মনে হচ্ছে। আপনার যদি একটি ছোট প্লটের উইন্ডো থাকে তবে এটি ঘটতে পারে। যাই হোক না কেন, সমস্যাটি সনাক্তকরণে আপনার বিবরণ অপর্যাপ্ত। প্লট উইন্ডো সহ আমরা আপনার আর সেশনের পুনরুত্পাদনযোগ্য উদাহরণ বা স্ক্রিনশট ব্যবহার করতে পারি।
রোমান Luštrik

আমি আমার ক্ষেত্রে, এটা এমন ডেটা রয়েছে যা ছিল একটি ছোট উপশাখা সহ ডিবাগ করতে সাহায্য করেছিলেন মত অঙ্কিত করা plot(df[1,1:3], df2[1,1:3])- এবং তারপর আমি বুঝলাম যে আমি আসলে কি চেয়েছিলেন হয় plot(unlist(df[1,1:3]), unlist(df2[1,1:3]))এছাড়াও দেখুন: stackoverflow.com/a/17074060/6018688
fabianegli

উত্তর:


169

প্রতিবার আপনি প্লট তৈরি করার সময় আপনি এই ত্রুটিটি পেতে পারেন - " Error in plot.new() : figure margins too large"। এই জাতীয় ত্রুটিগুলি এড়াতে আপনি প্রথমে par("mar")আউটপুট পরীক্ষা করতে পারেন । আপনার পাওয়া উচিত:

[1] 5.1 4.1 4.1 2.1

লেখার পরিবর্তন করতে:

par(mar=c(1,1,1,1))

এটি ত্রুটি সংশোধন করা উচিত। অন্যথায় আপনি সেই অনুযায়ী মান পরিবর্তন করতে পারেন।

আশা করি এটি আপনার পক্ষে কাজ করে।


4
মার্জিনের মধ্যে কোন মানগুলি রয়েছে তা আপনি ঠিক কীভাবে জানবেন? এবং আপনি কেন বলছেন যে আমার [1] 5.1 4.1 4.1 2.1 2.1 পাওয়া উচিত তবে আপনি আমাকে সব 1 এর সাথে তাড়া করতে বলছেন?
হারমান টুথরোট

4
আমি আরস্টুডিওর সাথে একই সমস্যায় পড়েছি এবং আমি প্রবেশ করার সময় আমি par("mar")একই সঠিক স্ট্রিংটি পুনরুদ্ধার করেছি [1] 5.1 4.1 4.1 2.1যাতে আমি প্রবেশ করলাম par(mar=c(1,1,1,1))তবে প্লট () কোনও প্লট করবে না, তাই আরস্টুডিও এবং টার্মিনাল উভয়ই আমাকে বন্ধ করতে হয়েছিল। আরস্টুডিও পুনরায় চালু করার পরে, এটি আবার স্বাভাবিক অবস্থায় ছিল।
noobninja

4
আর স্টুডিওতেও আর মার্কডাউনতে একই সমস্যাটিতে চলছে। গেস্ট আর এর সমাধান বা @ নুবুঞ্জিজা পুনরায় আরম্ভ না করে যদিও এটি আমার জন্য ঠিক করা হয়েছে।
এসসি।

কোনও আরস্টুডিও ইউআই লেআউট সমস্যার কারণে আপনি এই ত্রুটিটি পেয়ে যাচ্ছেন, কোডটির সাথে কোনও ভুল নয়। দ্বিতীয় উত্তরটি আমার জন্য এটি স্থির করে।
নিকোল সুলিভান

4
@ নিকোল সুলিভান আর স্টুডিও ছাড়াই এই ত্রুটিটি পেয়েছি। আমি বর্ণিত হিসাবে করেছি এবং এটি কাজ করে। ধন্যবাদ @ ডিজেহুরিও!
গওয়াং-জিন কিম

110

এটি ঘটতে পারে যখন আপনি তৈরি করার চেষ্টা করছেন প্লটটির মার্জিনের জন্য আরস্টুডিওতে আপনার প্লট প্যানেলটি খুব ছোট। এটি প্রসারিত করার চেষ্টা করুন এবং তারপরে আপনার কোডটি আবার চালান।

যখন প্লট প্যানেলটি চার্টটি প্রদর্শনের জন্য খুব ছোট হয় তখন আরস্টুডিও ইউআই ত্রুটির সৃষ্টি করে: প্লট প্যানেল সহ আর স্টুডিও খুব ছোট

কেবল প্লট প্যানেলটি প্রসারিত করলে বাগটি সংশোধন করা হয় এবং চার্টটি প্রদর্শিত হয়: প্লট প্যানেল সহ আরস্টুডিও প্রসারিত হয়েছে


6
এটি প্রকৃতপক্ষে কার্যকর হয় .. প্লটের ক্ষেত্রটি কেবল প্রসারিত করতে সহায়তা করে
জিয়াপেং জাং

4
হ্যাঁ, আরস্টুডিওতে প্যানেলগুলির আকার পরিবর্তন করা কাজ করে। প্লট প্যানেলটি বন্ধ করে স্লাইড করে আপনি যখন ইউআই এর ডান দিকটি ছোট করেন তখন এটি একটি আরস্টুডিও বাগ হয়।
নিকোল সুলিভান

এটি আসলে বেশিরভাগ ক্ষেত্রেই কাজ করে। সামান্য সংখ্যালঘু ক্ষেত্রে রয়েছে যেখানে মার্জিনগুলি সত্যই এত ছোট যে আপনি এই উইন্ডোটি সর্বাধিক বাড়িয়ে
তুললেও

29

আর স্টুডিওকে dev.off()নতুন গ্রাফিক্স ডিভাইসটি ডিফল্ট সেটিংস সহ খোলার জন্য আমন্ত্রণ জানানো আমার পক্ষে কাজ করেছে। এইচটিএইচ।


4
আপনি কিভাবে দয়া করে তা ব্যাখ্যা করতে পারেন?
সুইফ্ট তীর

dev.off()আর কনসোলে টাইপ করুন , এন্টার টিপুন।
সময়সূচী

21

আপনি যদি আর স্টুডিওতে এই বার্তাটি পান তবে প্লট ট্যাবে 'ব্রুমস্টিক' চিত্র "সমস্ত প্লট সাফ করুন" ক্লিক করে আবার প্লট () চেষ্টা করুন।

কমান্ড কার্যকর করুন

graphics.off()

11
এই তিনটি লাইন লিখুনgraphics.off() par("mar") par(mar=c(1,1,1,1))
হিরেন


2

শুধু একটি পার্শ্ব নোট। কখনও কখনও এই "মার্জিন" ত্রুটিটি ঘটে কারণ আপনি আর -তে একটি উচ্চ-রেজোলিউশন চিত্র (যেমন। dpi = 300বা res = 300) সংরক্ষণ করতে চান
this এই ক্ষেত্রে, আপনাকে যা করতে হবে তা হল প্রস্থ এবং উচ্চতা নির্দিষ্ট করা । (বিটিডব্লিউ, ggsave()এটির দরকার নেই))

এটি মার্জিন ত্রুটির কারণ :

# eg. for tiff()
par(mar=c(1,1,1,1))
tiff(filename =  "qq.tiff",
     res = 300,                                                 # the margin error.
     compression = c( "lzw") )
# qq plot for genome wide association study (just an example)
qqman::qq(df$rawp, main = "Q-Q plot of GWAS p-values", cex = .3)
dev.off()

এটি মার্জিন ত্রুটিটি ঠিক করবে :

# eg. for tiff()
par(mar=c(1,1,1,1))
tiff(filename =  "qq.tiff",
     res = 300,                                                 # the margin error.
     width = 5, height = 4, units = 'in',                       # fixed
     compression = c( "lzw") )
# qq plot for genome wide association study (just an example)
qqman::qq(df$rawp, main = "Q-Q plot of GWAS p-values", cex = .3)
dev.off()

-1

graphics.off()আপনার ডেটা প্লট করার আগে কেবল চালান । এই নির্দেশনাটি আমার ত্রুটি সমাধান করেছে। সুতরাং, আরও জটিল সমাধান নেওয়ার আগে এটি চেষ্টা করা নিরীহ।

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