2012-06-16 37 views
1

我有以下代碼來繪製一些東西。我也展示了結果。我的問題是,我希望線條與蜱蟲同步。qplot ticks不對應圖中的線

有沒有建議嗎?

謝謝你的時間。

g <- qplot(hora, puntual, colour=part, data=x, group=part) + 
geom_line() + 
geom_pointrange(aes(ymin = inf, ymax = sup)) + 
scale_color_manual(values=c("red", "green")) + 
scale_y_continuous(breaks=seq(1, 55, 0.5)) + 
opts(panel.background = theme_rect(fill='white', colour='gray')) 
jpeg("plot.jpg", width=800, height=800) 
print(g) 
dev.off() 

追: 這是我讀DF(節選)

72000, 40.920, 44.478, 
72010, 41.197, 42.212, 
72020, 41.462, 41.893, 
72030, 41.523, 41.759, 
72045, 41.509, 41.725, 
72050, 41.504, 41.719, 
72055, 40.920, 44.478, 

第一列是X,第二和第三是紅色JPG示例中所示的時間間隔。

result

+3

我們在回答它們之前,喜歡將問題設置爲[reproducible](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – Chase

+0

@Chase。含義?這裏的數據並不重要。如果您看到'scale_y_continuous(breaks = seq(1,55,0.5))',則定義刻度標記。我想要淺灰色的線條與他們對齊 – notuo

+2

這意味着我不認爲有人問這樣一個問題以這種格式構建這個問題是不合理的,這樣對那些試圖幫助複製這些問題的人來說很容易。您的數據可能並不重要,但瞭解您的具體問題至關重要。當然,我可能會在兩行之間閱讀,編寫一些稍微接近的數據,並且可能很快回答您的問題。或者,我可能會錯過一些關鍵數據集的細微差別,即「因素」與「字符」或其他。這真是相當*慷慨的給我們輸出 – Chase

回答

1

你舉的例子仍然是來自重複性很遠。當我們要求可重複性時,我們不會試圖變得困難。請記住,你要求隨機的陌生人在他們的日常生活中(週末!)幫助你。對你來說,儘可能多地做前期工作是唯一的禮貌。如果我可以簡單地複製+粘貼一些代碼並在乾淨的R會話中運行以查看發生了什麼,那麼我更有可能花時間解決這個問題。這就是我的意思是:

創建一些重複性的數據:

dat <- data.frame(x = 1:10,y = sample(10,10,replace = TRUE)) 

這是一行,使生活的回答者所以容易得多。我們要求人們提供可重複的例子的另一個原因是,這樣做經常會導致您解決自己的問題。

當我通過開發這個重複的例子的過程中去了,我第一次做這樣的情節:

ggplot(dat,aes(x = x,y = y)) + 
    geom_point() + 
    scale_y_continuous(breaks = seq(1,10,0.5)) 

enter image description here

一切都看起來不錯,對吧?但請注意,由於默認面板背景爲灰色,網格線爲白色。警鐘,應該在你的頭在這一點上都會響起......

接下來,我策劃了這:

ggplot(dat,aes(x = x,y = y)) + 
    geom_point() + 
    scale_y_continuous(breaks = seq(1,10,0.5)) + 
    opts(panel.background = theme_rect(fill='white', colour='gray')) 

enter image description here

注意「網格線」,現在實際上不是網格線。它們是你背景的邊界。這是爲2D對象指定顏色時發生的情況;邊框是彩色的。

在這一點上,我意識到,我們只需要重新着色的網格線:

ggplot(dat,aes(x = x,y = y)) + 
    geom_point() + 
    scale_y_continuous(breaks = seq(1,10,0.5)) + 
    opts(panel.background = theme_rect(fill='white', colour='gray'), 
     panel.grid.minor = theme_blank(), 
     panel.grid.major = theme_line(colour = "grey80")) 

enter image description here

我已經刪除與theme_blank次網格線和簡單地重新着色的主要的。他們一直在那裏,只是畫上了白色!

所以這裏的教訓是,製作一個可重複的例子不僅僅是我們的回答者是懶惰的......它也會給你帶來好處!:)

+0

喬蘭,謝謝你的時間。我瞭解要求可複製的問題,這次我沒有做任何事情,只是因爲我從來沒有意識到這個問題與數據有關。我爲此道歉。示例代碼和DF是從我的實際代碼複製/粘貼。對於R中的情節例程,我真的很難過。這個白色邊框只是這個情節例程的許多細節的一個例子,實際上是我的問題的答案。謝謝你的時間,並有一個愉快的週末。我保證下次我會在可重現的問題中提供更多細節。 – notuo

+0

@notuo沒問題。我希望你不認爲我是居高臨下。如果可能的話,我會盡量寫出不僅幫助OP的答案,還會幫助其他人解決這個問題。 – joran