Ggplot2 ব্যবহার করার সময় অবিচ্ছিন্ন গ্রাফিক্সের স্থিতির ত্রুটি


119

আমি বিশ্বাস করি যে আমার ডেটাফ্রেম ঠিক আছে এবং আমার কোডও ঠিক আছে। প্রকৃতপক্ষে, জিনিসগুলি যতটা সম্ভব বেসিক করার জন্য আমি ডেটাফ্রেমের কিছু অংশ এবং গ্রাফিং কোডের বেশিরভাগ অংশগুলি মুছে ফেলেছি। তবে এখনও, আমি পেয়েছি:

Error in .Call.graphics(C_palette2, .Call(C_palette2, NULL)) : 
  invalid graphics state

এখানে কি ভুল? তথ্য এখানে:

 date   trt var val
1/8/2008    cc  sw5 0.2684138
1/8/2008    cc  sw15    0.2897586
1/8/2008    cc  sw5 0.2822414
2/8/2008    cc  sw5 0.2494583
2/8/2008    cc  sw5 0.2692917
2/8/2008    cc  sw15    0.2619167
2/8/2008    cc  sw5 0.204375
3/8/2008    cc  sw5 0.2430625
3/8/2008    cc  sw5 0.2654375
3/8/2008    cc  sw5 0.2509583
3/8/2008    cc  sw5 0.2055625
1/8/2008    ccw sw15    0.2212414
1/8/2008    ccw sw5 0.3613448
1/8/2008    ccw sw5 0.2607586
2/8/2008    ccw sw5 0.2087917
2/8/2008    ccw sw15    0.3390417
2/8/2008    ccw sw5 0.2436458
2/8/2008    ccw sw5 0.290875
3/8/2008    ccw sw5 0.20175
3/8/2008    ccw sw15    0.328875
3/8/2008    ccw sw5 0.2328958
3/8/2008    ccw sw5 0.2868958

আমি যখন এই ডেটা নিয়ে কাজ করি তখন আমি এই জাতীয় তারিখগুলি নির্দিষ্ট করি:

df<-df[order(as.Date(df$date,format="%d/%m/%Y")),,drop=FALSE]

এবং এখানে আমি একটি স্ক্যাটারপ্লট করতে চাই:

ggplot(data = df,aes(x = date,y = val)) + 
 geom_point(aes(group = trt))

3
আপনি ggplot2 ইনস্টল করার চেষ্টা করেছেন (পুনরায়)?
পল হিমস্ট্র্রা

আমি এটিকে উত্তর হিসাবে যুক্ত করেছি, এইভাবে অন্যান্য লোকেরা উত্তর আরও সহজে খুঁজে পেতে পারে। আমার উত্তরের ঠিক পাশের টিক চিহ্নটিতে ক্লিক করে আপনি উত্তরটি গ্রহণ করতে পারেন। শুধু নিশ্চিত করতে, আপনি কি ggplot2মূলত ইনস্টল করেছিলেন ?
পল হিমস্ট্র্রা

হ্যাঁ, এটি ইতিমধ্যে ইনস্টল করা আছে।
নাজির

3
আর সেশনটি পুনরায় চালু করা আমার সমস্যার সমাধান করেছে।
ক্রিস

এফওয়াইআই - আপনি যদি খুব ছোট আকারের চিত্রের মাত্রা (যেমন ইউনিটটি নির্দিষ্ট করে না দিয়ে ইঞ্চি মাত্রা সরবরাহ করার চেষ্টা) তৈরির চেষ্টা করেন তবে এই সমস্যাটিও দেখা দিতে পারে।
কিথ হুগিট

উত্তর:


353

আমি এই একই ত্রুটির মধ্যে দৌড়েছি এবং এটি চালিয়ে সমাধান করেছি:

dev.off()

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


1
এটি সমস্যার সমাধান করে, তবে এটি কেন হয় সে সম্পর্কে আপনার কোনও ধারণা আছে?
পেড্রো ক্যাভালঙ্কেট

2
আমার আগে পেড্রো কেভ্যালকান্টে ওলিভির ব্যবহার par(mfrow = c(..., ...))করার পরে আমার সমস্যা হয়েছিল। অন্যান্য গ্রাফিক পরামিতিগুলি সম্পর্কে জানেন না তবে তারা এই সমস্যার কারণ হতে পারে।
লোকি

1
এটি সাহায্য করেছে কিন্তু কী করে?
vasili111

9

সমাধানটি কেবল পুনরায় ইনস্টল করা ggplot2। আপনি যে আর সংস্করণটি ব্যবহার করছেন তার মধ্যে এবং তার ইনস্টলড সংস্করণটির মধ্যে একটি বেমানান থাকতে পারে ggplot2। বিকল্পভাবে, আপনি ইনস্টল করার সময় এর ggplot2আগে ইনস্টল করার সময় কিছু ভুল হতে পারে ।


4
এই উত্তর এখানে রাখার জন্য ধন্যবাদ। যদিও অন্য উত্তরটি সহজ, dev.off()আমার পক্ষে কাজ করেনি এবং জিপিপ্লট 2 পুনরায় ইনস্টল করার চেষ্টা করা এটি একটি ভাল দ্বিতীয় বিকল্প।
নাজির

dev.off()প্রথমে চেষ্টা করা ভাল হতে পারে , প্যাকেজ ইনস্টল করার চেয়ে কম সময় নেয় takes dev.off()কাজ না করলে এটি দ্বিতীয় ধাপ হতে পারে ।
জেসন গোল

6

আপনি একই সেশনে প্লট চার্টের সাথে জিজিপ্লাট চার্টগুলি মিশ্রিত করার সময় আমি এটি দেখতে পেয়েছি। পল দ্বারা প্রস্তাবিত 'ডিভ.অফ' সমাধানটি ব্যবহার করা সমস্যার সমাধান করে।


কি dev.off'করে?
ভাসিলি 111

4

আপনার সম্ভবত ggplot2 পুনরায় ইনস্টল করার দরকার নেই

সমাধান: পূর্বে কাজ হয়নি এমন প্লটে ফিরে যান। উদাহরণস্বরূপ নীচের কনসোল আউটপুট নিন। চিত্রের মার্জিনগুলি (উইন্ডো যা আপনার প্লটগুলি দেখায়) জোড় (মাইনাসআইনার) প্লটটি প্রদর্শনের জন্য খুব ছোট ছিল। তারপরে যখন আমি পরবর্তী কিপ্লট তৈরি করার চেষ্টা করেছি, তখনও আর ত্রুটিটি পূর্ববর্তী ত্রুটির জন্য স্থির ছিল।

জোড় (মাইনাসআইনার) প্লট-এ নতুন (): এর ত্রুটি ): অবৈধ গ্রাফিক্সের অবস্থা

প্লটের উইন্ডোটি প্রসারিত করে এবং জোড়গুলি (মাইনাসআইনার) প্লটটি পুনরায় চালিত করে আমি প্রথম ত্রুটিটি ঠিক করেছি। তাহলে দোষারোপ, এটি কাজ করে।

জোড় (মাইনাসআইনার) কিউপ্লট (নমুনা.প্রকার, বিএই, তথ্য = মাইনাসআইনার, জিওম = "বক্সপ্লট")


0

আমি কনসোলের সমস্ত প্লট সাফ করে এবং এরপরে যে বিষয়টি আমি তৈরি করছি তার জন্য প্লট এলাকাটি যথেষ্ট বড় ছিল তা নিশ্চিত করে এটি সমাধান করেছি।


0

সঙ্গে গ্রাফিক্স আউট পেতে চেষ্টা x11()বা win.graph()করতে এবং এই কষ্ট সমাধানের জন্য।

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