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
क्या आपने (g) ggplot2 स्थापित करने की कोशिश की है?
पॉल हैमस्ट्रा २२'१३

मैंने इसे एक उत्तर के रूप में जोड़ा, इस तरह अन्य लोग उत्तर को अधिक आसानी से पा सकते हैं। आप मेरे उत्तर के ठीक बगल में टिक मार्क पर क्लिक करके उत्तर स्वीकार कर सकते हैं। बस पुष्टि करने के लिए, आपने ggplot2मूल रूप से स्थापित किया था ?
पॉल हैमस्ट्रा

हां, यह पहले से ही स्थापित था।
नज़ीर

3
आर सत्र को फिर से शुरू करने से मेरी समस्या हल हो गई।
क्रिस

FYI करें - यह समस्या तब भी उत्पन्न हो सकती है जब आप उपयोग के आयामों का निर्माण करने का प्रयास करते हैं जो बहुत छोटे होते हैं (जैसे इकाई को निर्दिष्ट किए बिना इंच में आयाम प्रदान करने का प्रयास)।
कीथ ह्यूजिट

जवाबों:


353

मैं इसी त्रुटि में भाग गया और इसे हल करके चला गया:

dev.off()

और फिर से फिर से साजिश चल रही है। मुझे लगता है कि कुछ ग्राफिक्स का निर्यात करके ग्राफिक्स डिवाइस को पहले किसी तरह गड़बड़ कर दिया गया था और इसे रीसेट नहीं किया गया था। यह मेरे लिए काम करता है और यह ggplot2 को पुनर्स्थापित करने की तुलना में सरल है।


1
यह समस्या को हल करता है, लेकिन क्या आपको पता है कि यह क्यों करता है?
पेड्रो कैवलैंटेटे

2
@PedroCavalcanteOliveira मुझे समस्या थी, par(mfrow = c(..., ...))इससे पहले कि मैं इस्तेमाल करता हूं । अन्य ग्राफिक मापदंडों के बारे में नहीं जानते, लेकिन वे इस समस्या का कारण हो सकते हैं।
लोकी

1
इसने मदद की लेकिन क्या करता है?
vasili111

9

समाधान बस को पुनर्स्थापित करना है ggplot2। हो सकता है कि आपके द्वारा उपयोग किए जा रहे R संस्करण और आपके द्वारा स्थापित संस्करण के बीच एक असंगति हो ggplot2। वैकल्पिक रूप से, ggplot2पहले स्थापित करते समय कुछ गलत हो गया होगा , जिससे आपको समस्या दिखाई देगी।


4
इस उत्तर को यहाँ रखने के लिए धन्यवाद। यद्यपि अन्य उत्तर सरल है, dev.off()मेरे लिए काम नहीं किया और यह ggplot2 को पुनः स्थापित करने का प्रयास करने के लिए एक अच्छा दूसरा विकल्प है।
नज़ीर

dev.off()पहले प्रयास करना बेहतर हो सकता है , पुनर्स्थापना पैकेज की तुलना में कम समय लगता है। अगर dev.off()काम नहीं किया तो यह दूसरा कदम हो सकता है ।
जेसन गोल

6

मुझे यह तब मिला जब आप एक ही सत्र में प्लॉट चार्ट के साथ ggplot चार्ट मिलाते हैं। पॉल द्वारा सुझाए गए 'dev.off' समाधान का उपयोग करने से समस्या हल हो जाती है।


क्या dev.off'करता है?
vasili111

4

आपको ggplot2 को पुनर्स्थापित करने की आवश्यकता नहीं है

समाधान: उस प्लॉट पर वापस जाएं जो पहले काम नहीं करता था। उदाहरण के लिए नीचे कंसोल आउटपुट लें। आंकड़ा मार्जिन (खिड़की जो आपके भूखंडों को प्रदर्शित करता है) जोड़े (माइनस इननर) भूखंड को प्रदर्शित करने के लिए बहुत छोटा था। फिर जब मैंने अगला qplot बनाने की कोशिश की, R पिछली त्रुटि पर लटका हुआ था।

जोड़े (माइनस इननर) प्लॉट में त्रुटि। न्यू (): फिगर मार्जिन बहुत बड़ा है qplot (Sample.Type, BAE, data = MinusInner, geom = "boxplot") .Call.graphics (C_palette2,। Call (C_palette2, NULL) में त्रुटि। ): अमान्य ग्राफिक्स स्थिति

मैंने प्लॉट विंडो का विस्तार करके और जोड़े (MinusInner) प्लॉट को फिर से डायनामिक करके पहली त्रुटि तय की। फिर दोष, यह काम किया।

जोड़े (माइनस इननर) कप्लोट (सैंपल.टाइप, बीएई, डेटा = माइनस इननर, जियोम = "बॉक्सप्लांट")


0

मैंने कंसोल में सभी भूखंडों को साफ करके इसे हल किया और फिर यह सुनिश्चित करने के लिए कि मैं जो निर्माण कर रहा था उसे समायोजित करने के लिए प्लॉट क्षेत्र काफी बड़ा था।


0

साथ grafics प्रसिद्ध करने की कोशिश x11()या win.graph()और इस मुसीबत का समाधान।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.