2011-12-14 16 views
8

का उपयोग कर बॉक्सप्लॉट किंवदंती कुंजी में पारदर्शिता मैं पारदर्शी भरने और संबंधित किंवदंती के साथ बॉक्सप्लॉट बनाने की कोशिश कर रहा हूं। अल्फा मूल्यों के साथ साजिश ठीक काम करती है सिवाय इसके कि पौराणिक कुंजियों में पारदर्शी भर नहीं होती है।आर और ggplot2

dat <- data.frame(x=c('a', 'b', 'c'), y = runif(300), z = c('d', 'e', 'e')) 
ggplot(dat) + geom_boxplot(aes(x, y, fill = z, colour = z), alpha = 0.2) 

Boxplot with transparencies in fill, but not int the legend

वहाँ कथा भी पारदर्शी कुंजी में भरने के मूल्यों बनाने के लिए एक रास्ता है: निम्न उदाहरण कठिनाई दिखाता है?

SessionInfo() 
R version 2.14.0 (2011-10-31) 
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit) 
ggplot2_0.8.9 

इस मुद्दे पर किसी भी सुझाव के लिए अग्रिम धन्यवाद।

एक उदाहरण जहां अल्फा मैपिंग काम करता है निम्नलिखित

ggplot(dat) + geom_point(aes(x, y, fill = z, colour = z, shape = z), alpha = 0.2) 

Plot where alpha mapping works fine

+0

मैंने खोस्के की टिप्पणियों और आपके काउंटर उदाहरण के प्रकाश में अपना जवाब हटा दिया। –

+0

@PaulHiemstra - क्या आप अपना उत्तर मिटा सकते हैं, इसलिए हम खोस्के की टिप्पणियां देख सकते हैं? साथ ही, अगर टिप्पणियां दिखाती हैं कि यह ** ** क्यों नहीं किया जा सकता है, तो आप इसे अपने उत्तर के शीर्ष में शामिल कर सकते हैं, और फिर इसे वोट दिया जा सकता है और आशा है कि पीले कैप द्वारा स्वीकार किया जाएगा। –

+0

कृपया https://github.com/hadley/ggplot2/issues पर एक बग रिपोर्ट सबमिट करें – hadley

उत्तर

1

समाधान मैं पहले उपयोग किए गए है यह एक अपने एक विशाल हैक है ... लेकिन काम करता है।

dat <- data.frame(x=c('a', 'b', 'c'), y = runif(300), z = c('d', 'e', 'e')) 
dummy <- dat 
dummy$z <- factor(dummy$z) 
dummy <- dummy[1,] 
dummy[,2]<-NaN 
ggplot() + 
geom_boxplot(data=dat,aes(x, y, fill = z, colour = z), alpha = 0.2,legend=FALSE) + 
geom_density(data=dummy,aes(x, fill = z, colour = z), alpha = 0.2) 

मैं आमतौर पर इसका इस्तेमाल करते हैं जब मैं एक geom_text साजिश बना रहा हूं, लेकिन कथा अंक या ब्लॉक के रूप दिखाना चाहते हैं। लेकिन यह इस उदाहरण के लिए भी काम करता है।

यदि हैडली इस धागे पर ध्यान दे रहा है, तो मुझे खुद को एक प्लॉट = टी/एफ विकल्प चाहिए जो इस स्थिति के लिए किंवदंती विकल्प की तरह काम करता है।