2010-04-20 6 views
47

मैं एक बार चार्ट बना रहा हूं जिसके लिए क्षैतिज (एक्स) प्लेसमेंट के संकेतों के रूप में बार पर्याप्त हैं, इसलिए मैं अनावश्यक लंबवत ग्रिडलाइन को चित्रित करना टालना चाहता हूं।मैं ggplot2 प्लॉट में लंबवत ग्रिडलाइन को कैसे दबा सकता हूं?

मैं समझता हूं कि opts() में मामूली और प्रमुख ग्रिडलाइन को कैसे शैलीबद्ध किया जाए, लेकिन मैं अपने जीवन के लिए केवल ऊर्ध्वाधर ग्रिडलाइन को दबाने के बारे में नहीं समझ सकता।

library(ggplot2) 

data <- data.frame(x = 1:10, y = c(3,5,2,5,6,2,7,6,5,4)) 

ggplot(data, aes(x, y)) + 
    geom_bar(stat = 'identity') + 
    opts(
    panel.grid.major = theme_line(size = 0.5, colour = '#1391FF'), 
    panel.grid.minor = theme_line(colour = NA), 
    panel.background = theme_rect(colour = NA), 
    axis.ticks = theme_segment(colour = NA) 
) 

इस बिंदु पर, यह है कि मैं ग्रिडलाइनें के सभी को दबाने और फिर उन्हें वापस geom_hline() है, जो एक दर्द (भी की तरह की तरह लगता है के साथ आकर्षित में करने के लिए जा रहा हूँ के लिए देख रहा है, यह पूरी तरह से नहीं है स्पष्ट करें कि मैं geom_hline() को फ़ीड करने के लिए टिक/प्रमुख ग्रिडलाइन पदों को कैसे ढूंढ सकता हूं।)

किसी भी विचार की सराहना की जाएगी!

उत्तर

11

का उपयोग करके देखें

scale_x_continuous (टूटता = शून्य)

यह सब खड़ी ग्रिडलाइनें के साथ ही एक्स-अक्ष tickmark लेबल निकालने होगा।

+4

उसने ऐसा किया, लेकिन अब, जैसा कि आपने देखा है, मेरे पास एक्स-अक्ष लेबल नहीं हैं, जो मुझे चाहिए - किसी भी विचार को वापस कैसे लिखना है? – Tarek

+1

geom_text (एईएस (लेबल = एक्स, वाई = -.5)) – learnr

+17

काम करना चाहिए नया संस्करण कहता है, 'पैमाने में ब्रेक को हटाने के लिए कृपया ब्रेक = एनयूएलएल का उपयोग करें। (बहिष्कृत; अंतिम बार संस्करण 0.8.9 में उपयोग किया जाता है) ' –

5

देखें एक और विकल्प के लिए ग्रिड के स्तर का संपादन:

https://github.com/hadley/ggplot2/wiki/Editing-raw-grid-objects-from-a-ggplot

+0

यह काम करता है! मुझे लगता है कि यह नाबालिग और प्रमुख ग्रिडलाइन को हटाने के लिए एक सामान्य समाधान है –

4

यह आपको केवल बिंदुओं के साथ छोड़ देता है:

ggplot(out, aes(X1, X2)) + 
    geom_point() + 
    scale_x_continuous(breaks = NULL) + 
    scale_y_continuous(breaks = NULL) + 
    opts(panel.background = theme_blank()) + 
    opts(axis.title.x = theme_blank(), axis.title.y = theme_blank()) 
95

ggplot2 0.9.2 के रूप में, यह बन गया है बहुत "थीम" का उपयोग करना आसान है। अब आप पैनल.grid.major.x और panel.grid.major.y पर अलग-अलग विषयों को असाइन कर सकते हैं, जैसा कि नीचे दिखाया गया है।

# simulate data for the bar graph 
data <- data.frame(X = c("A","B","C"), Y = c(1:3))  

# make the bar graph 
ggplot(data ) + 
    geom_bar(aes(X, Y)) + 
    theme(# remove the vertical grid lines 
      panel.grid.major.x = element_blank() , 
      # explicitly set the horizontal lines (or they will disappear too) 
      panel.grid.major.y = element_line(size=.1, color="black") 
    ) 

इस उदाहरण का परिणाम काफी बदसूरत देख है, लेकिन यह जबकि क्षैतिज लाइनों और x- अक्ष टिक के निशान संरक्षण खड़ी लाइनों को निकालने का तरीका दर्शाता है।

संबंधित मुद्दे