以下是我的情节函数,
我在这里使用了实现的代码而不是可重现的代码,因为我只想知道处理事物的概念。
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(breaks = pretty_breaks(n = 10))+ xlim(输入$ slider 1,输入$ slider 2))
然后scale_x _continuous不起作用“为'x'的比例已经存在。为'x'添加另一个比例,它将取代现有比例。” (这消除了我想要的许多刻度)。
在这种情况下,我如何实现这两种方法。 [想要拥有动态x轴,并且还想覆盖预定义的刻度并有更多的刻度。]
概述可以在这张照片中看到。
即使滑块条值发生变化,图片仍在显示,x轴未调整,因为正如我所说的scale_x_continuous和xlim的顺序。
我如何才能使两者都有效?
答案 0 :(得分: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])) )