我有这个代码是为了做一个数字
milliseconds <- c(0,50,100,150,200,250,300)
force <- c(20,75,120,260,400,500,600)
data <- data.frame(miliseconds,force)
我需要在曲线下画0到50毫秒的阴影。
到目前为止我有
RFD <-ggplot(data = data, mapping = aes(x = miliseconds, y = force)) +
geom_line(color="black", size=2) +
geom_area(mapping = aes(x = ifelse(x>0 & x<50 , x, 0)),
geom_params = list(fill = "red", alpha = 0.5)) +
scale_y_continuous(limits = c(0, max(data$force)))
geom_point(size=4, color="black") +
theme_classic() +
ggtitle("Rate of Force Developement")
RFD +scale_x_continuous(name = "Milliseconds",
breaks = seq(0, 300, 50),
limits=c(0, 300)) +
scale_y_continuous(name = "Force")
##########
但我得到了一个错误,我不能ggproto对象在一起。有什么建议?
1条答案
按热度按时间htrmnn0y1#
删 debugging 别字后,我认为主要的问题是在您设置的限制(
> 0 & < 50
)内没有数据。但是你也应该把这个过滤器应用到
geom_area
中的data
,和ggplot
中的Map一样。我用了稍微不同的过滤器来获取至少一些数据。如果你把fill
和alpha
放在美学之外,它会起作用。您不必在
scale_y_continuous
中使用df$force
。附言:
geom_line
中使用了linewidth
而不是size
。+
geom_params