2014-09-24 39 views
0

以下處理動態X亞信時,蜱是我的繪圖功能,如何管理x軸通過光澤(裏面ggplot)

我在這裏並沒有一個可重複的一個用於實現的代碼,因爲我只是想知道這個概念在這裏處理事情。

print(ggplot(subset(gg1,!is.na(var)), aes_string(x = "Day", y = var, group = "Mi")) + 
       geom_point(aes(color = factor(Mi)), size = 5, alpha = 0.7) + 
       #scale_x_continuous(breaks=pretty_breaks(n=10)) + #geom_smooth(stat= "smooth" , alpha = I(0.4), method="loess",color="grey", formula = y ~ x) 
       scale_color_manual("Mesocosm", values = c('#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#FF00FF', '#808080', '#800000' , '#008000', '#008080')) + 
       scale_y_continuous(breaks=pretty_breaks(n=10)) + 
       theme_bw() + 
       geom_line(data = (ggl), size = 0.5) + 
       theme (legend.position = "right", legend.title=element_text(size=14), 
         panel.border = element_rect(colour = "black"),strip.background = element_rect(fill="#CCCCFF"), 
         strip.text.x = element_text(size=14, face="bold"),axis.text.y = element_text(colour="grey20",size=13,face="bold"), 
         axis.text.x = element_text(colour="grey20",size=13,face="bold"), 
         axis.title.x = element_text(colour="grey20",size=20,face="bold"), 
         axis.title.y = element_text(colour="grey20",size=20,face="bold")) + 
       xlim(input$slider[1],input$slider[2]) + 
       scale_x_continuous(breaks=pretty_breaks(n=10))) 

我要拆分的X ASIX蜱,以適應在x軸上更蜱。這可以使用scale_x_continuous來完成,如上例所示。結果很好,我得到了我想要的蜱蟲。

什麼是蜱?類似的問題可以在這裏找到:Pretty Breaks

但在上述實施動態x軸不能做其工作,

動態X軸:改變滑塊點使x軸自動調整。

下一頁: 如果我反向最後兩行的像

scale_x_continuous順序(斷裂= pretty_breaks(N = 10))+ XLIM(輸入$滑塊1,輸入$滑塊2))

然後,scale_x _continuous不起作用,表示「Scale for'x'已經存在,爲'x'添加另一個比例,將替換現有的比例。」 (這消除了許多蜱蟲,因爲我打算有)。

如何在這種情況下實現兩者。 [想要具有動態x軸並且還想覆蓋預定義的刻度並且具有更多的刻度。]

總覽可以在此圖中看到。 enter image description here

即使滑塊欄的值發生變化,x軸也不會調整,因爲正如我所說的scale_x_continuous和xlim的順序,圖片顯示。

我該如何讓兩者都能工作?

+1

您是否嘗試過使用'scale_x_continuous'的'limits'參數,而不是使用速記功能'xlim'? – aosmith 2014-09-24 20:13:37

回答

1

我認爲scale_x_continous()函數的限制是你想要的。

替換:

xlim(input$slider[1],input$slider[2]) + 
       scale_x_continuous(breaks=pretty_breaks(n=10))) 

有了:

scale_x_continuous(breaks=pretty_breaks(n=10), limits=c(input$slider[1],input$slider[2]))) 
+0

謝謝。我在錯誤的部分使用了限制。 – statisticalbeginner 2014-09-25 16:21:29