2011-08-15 6 views
6

मेरे पास कुछ बिंदुओं के साथ एक साजिश है जो थोड़ा ऑफसेट है। अंक की प्रत्येक जोड़ी ने त्रुटि बार को जोड़ा है। मैंने निर्दिष्ट किया है कि जोड़ी में पहले बिंदु का प्रतीक दूसरे (बंद सर्कल बनाम खुले सर्कल) से अलग है। मुझे यह पसंद है ताकि त्रुटि बार खुले प्रतीक के माध्यम से दिखाई न दें। यहाँत्रुटि बार खुले प्रतीक के माध्यम से दिखाते हैं

x = runif(4,-2,2) 
x_1 = runif(4,-1,3) 
dfr <- data.frame(
x = c(x, x_1), 
y = rep(c("A","B","C","D"), 2), 
upper = c(x+2, x_1+1), 
lower = c(x-2, x_1-2), 
type = rep(c("alpha", "beta"), each = 4)) 

और साजिश है:

यहाँ एक नकली डेटा सेट है

dodge=position_dodge(width=0.5) 
ggplot(dfr,aes(x=y,y=x,colour=type)) + 
    geom_point(size=8,aes(shape=type),position=dodge) + 
    geom_errorbar(aes(ymax=upper,ymin=lower),position = dodge) + 
    scale_colour_manual(values = c('gray','black')) + 
    scale_shape_manual(values = c(19,21)) + 
    coord_flip() + 
    opts(legend.position="none") 

rplot

किसी भी मदद प्रदान कर सकते हैं के लिए धन्यवाद!

उत्तर

4

मैं 'ओपन' पॉइंट बनाने का तरीका नहीं सोच सकता और त्रुटि पट्टी को खराब नहीं होने देता। ऐसा करने का एकमात्र तरीका पृष्ठभूमि के समान रंगों के साथ अंक भरना होगा, लेकिन फिर आपकी ग्रिडलाइन बिंदु के माध्यम से दिखाई नहीं देगी।

ऐसा करने के लिए, fill टाइप करने के लिए सौंदर्य के नक्शे, और भरण रंग grey90 जो theme_grey सेटिंग है साथ scale_fill_manual निर्दिष्ट करें:

ggplot(dfr,aes(x=y,y=x,colour=type, fill=type)) + 
    geom_errorbar(aes(ymax=upper,ymin=lower),position = dodge) + 
    geom_point(size=8,aes(shape=type),position=dodge) + 
    scale_colour_manual(values = c('gray','black')) + 
    scale_fill_manual(values=c('grey', 'grey90')) + 
    scale_shape_manual(values = c(19,21)) + 
    coord_flip() + 
    opts(legend.position="none") 

enter image description here

+0

अच्छा काम करता है, धन्यवाद! मैं theme_bw का उपयोग कर रहा हूं, इसलिए मैंने भरने को सफेद में बदल दिया। – jslefche

1

आप नीचे दिए गए संशोधित कोड में दिखाए गए अनुसार color का उपयोग क्यों नहीं करते हैं। यह काले सर्कल भी भर जाएगा। यकीन नहीं है कि यह स्वीकार्य है।

ggplot(dfr,aes(x=y,y=x,colour=type)) + 
    geom_point(size=8,position=dodge) + 
    geom_errorbar(aes(ymax=upper,ymin=lower),position = dodge) + 
    scale_colour_manual(values = c('gray','black')) + 
    coord_flip() + 
    opts(legend.position="none")