2010-11-17 6 views
5

मैं साजिश के केंद्र में पृष्ठभूमि ग्रिड जोड़ना चाहता हूं और फिर मानक ग्रिडलाइन को छुपा सकता हूं। ग्रिड के कोने पॉइंट्स को पीटीएस डेटा फ्रेम में संग्रहीत किया जाता है और मैंने geom_tile का उपयोग करने का प्रयास किया है, लेकिन यह निर्दिष्ट बिंदुओं का उपयोग नहीं करता है। आपकी सहायता के लिये पहले से ही धन्यवाद।मैं ggplot2 का उपयोग कर पृष्ठभूमि ग्रिड कैसे जोड़ सकता हूं?

library(ggplot2) 
pts <- data.frame(
     x=c(170,170,170,177.5,177.5,177.5,185,185,185), 
     y=c(-35,-25,-15,-35,-25,-15,-35,-25,-15)) 
ggplot(quakes, aes(long, lat)) + 
    geom_point(shape = 1) + 
    geom_tile(data=pts,aes(x=x,y=y),fill="transparent",colour="black") + 
    opts(
     panel.grid.major=theme_blank(), 
     panel.grid.minor=theme_blank() 
    ) 

उत्तर

6

आप मैन्युअल रूप से टूट जाता है निर्दिष्ट कर सकते हैं:

ggplot(quakes, aes(long, lat)) + geom_point(shape = 1) + 
    scale_x_continuous(breaks = c(170, 177.5, 185)) + 
    scale_y_continuous(breaks = c(-35, -25, -15)) + 
    opts(panel.grid.minor = theme_blank(), 
     panel.grid.major = theme_line("black", size = 0.1)) 

तो, यह तुम क्या चाहते है?

pts <- data.frame(x=c(170, 170, 170, 170, 177.5, 185), 
        y=c(-35, -25, -15, -35, -35, -35), 
        xend=c(185, 185, 185, 170, 177.5, 185), 
        yend=c(-35, -25, -15, -15, -15, -15)) 
ggplot(quakes, aes(long, lat)) + geom_point(shape = 1) + 
    geom_segment(data=pts, aes(x, y, xend=xend, yend=yend)) + 
    opts(panel.grid.minor = theme_blank(), 
     panel.grid.major = theme_blank()) 
+1

मैं वास्तव में पृष्ठभूमि में ग्रिड "फ्लोट" रखना चाहता हूं (मेरा उदाहरण देखें)। हालांकि धन्यवाद। – user338714

+0

हाय, तो मैंने उदाहरण अपडेट किया है। ऊपर देखो। – kohske

+0

यह वही है जो मैं खोज रहा था - धन्यवाद। मैंने यह भी पाया कि geom_path काम करेगा, लेकिन पथ के साथ सभी बिंदुओं को साजिश करने के लिए काफी बोझिल है: pts <- data.frame (x = c (170,170,170,177.5, 177.5,177.5,185,185,185,177.5,170,170,177.5,185,185,177.5,170), y = ग (-35, -25, -15, -15, -25, -35, -35, -25, -15, -15, -15, -25, -25, -25, -35, - 35, -35))। – user338714

1

सुरुचिपूर्ण नहीं है लेकिन यह कुछ त्वरित और गंदा है जो मैं आया था। दुर्भाग्य से मैं एक निश्चित बिंदु पर लाइन को नहीं रोक सकता, यह किनारे पर सभी तरह से जाता है।

ggplot(quakes, aes(long, lat)) + geom_point(shape = 1) 
+ opts(panel.grid.major=theme_blank(), 
     panel.grid.minor=theme_blank()) 
+ geom_vline(aes(xintercept =seq(165,185,by=5))) 
+ geom_hline(aes(yintercept=seq(-35,-15,by=5))) 
+0

यदि आप प्रकाशन के लिए इस तरह के एक आंकड़े को संपादित कर रहे हैं, तो आप हमेशा ईपीएस के रूप में सहेज सकते हैं, फिर एडोब इलस्ट्रेटर में अतिरिक्त लाइनों को संपादित कर सकते हैं। मैं यही करूंगा। – Maiasaura

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

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