में परिवर्तनीय स्तर से संबंधित समोच्च स्तर ggplot2 के साथ समोच्च साजिश खींचने की कोशिश कर रहा हूं और यह कल्पना की तुलना में थोड़ा कठिन साबित हो रहा है। iris
डाटासेट मैं इस साजिश का उत्पादन करने में सक्षम हूँ का उपयोग करना:ggplot2
ggplot(iris, aes(x=Petal.Width, y=Petal.Length, fill=Sepal.Width)) +
stat_density2d(geom="polygon", aes(fill=..level..))
मेरे मुद्दा है कि मैं यह पता लगाने की प्रदर्शन- के लिए कैसे बजाय घनत्व मूल्यों कच्चे Sepal.Width
मूल्यों -इस नहीं कर पा रहे ।
ggplot(iris, aes(x=Petal.Width, y=Petal.Length, fill=Sepal.Width)) +
stat_density2d(geom="polygon", aes(fill=Sepal.Width))
और अंत में इस:
ggplot(iris, aes(x=Petal.Width, y=Petal.Length, fill=Sepal.Width)) +
geom_tile()
Warning message:
Computation failed in `stat_contour()`:
(list) object cannot be coerced to type 'double'
मैं भी इस की कोशिश की:
ggplot(iris, aes(x=Petal.Width, y=Petal.Length, z=Sepal.Width)) +
geom_tile(aes(fill=Sepal.Width))+
stat_contour(aes(colour=..level..))
यह एक विशेष रूप से अजीब त्रुटि संदेश पैदा करता है: यहाँ मैं क्या कोशिश की है है
कोई भी समर्थक के लिए एक अच्छा तरीका सुझा सकता है ggplot2 में एक समोच्च साजिश को अपने आप को समोच्च के स्तर का उत्पादन करने वाले चर के मूल्यों के साथ जोड़ दें?
UPDATED stat_contour
उदाहरण से:
# Generate data
library(reshape2) # for melt
volcano3d <- melt(volcano)
names(volcano3d) <- c("x", "y", "z")
# Basic plot
ggplot(volcano3d, aes(x, y, z = z)) +
stat_contour(geom="polygon", aes(fill=..level..))
कार्य महान और बहुत अच्छा लगता है। लेकिन अगर मैं तो जैसे आईरिस उदाहरण के लिए वास्तव में यह लागू होते हैं:
ggplot(iris, aes(x=Petal.Width, y=Petal.Length, fill=Sepal.Width)) +
stat_contour(geom="polygon", aes(fill=..level..))
मैं इस त्रुटि संदेश मिलता है:
Warning message:
Computation failed in `stat_contour()`:
(list) object cannot be coerced to type 'double'
ये समान संरचना के साथ दोनों dataframes हैं तो मैं समझ नहीं क्या अलग है इस मुद्दे के कारण दोनों के बीच।
'stat_countour' (volcano3d उदाहरण की तरह) मूल्यों की एक आयताकार ग्रिड की जरूरत है: यह विधि मैं प्रयोग किया जाता है। यदि आपके पास अनियमित डेटा है, तो आपको उस ग्रिड के मूल्यों की गणना करने के लिए इंटरपोलेशन के कुछ रूप करने के लिए एक मॉडल चुनना होगा, जिसे आप प्लॉट करना चाहते हैं। 'Stat_density2d' के लिए आप जो z' मान देख रहे हैं वह वास्तव में कुछ भी नहीं कर रहा है। घनत्व केवल अवलोकनों के उन जोड़े के संयुक्त घनत्व (~ फ्रीक्वेंसी) की भविष्यवाणी करता है। – MrFlick