我有一个小问题,可恶的是我无法自己解决。
我有一个简单的数据框,想要用ggplot2
绘图。当我将变量weight作为因子时,x轴上出现了所有值,如图2所示,但当我将其作为整数时,却不行,如图1所示。然而,我想使用geom_smooth
,它似乎只在图1中生效,而在图2中weight是因子时不会生效。
如何在ggplot2
中获得一个图形,既显示了weight的所有值,又包含geom_smooth
函数?
请参考此示例文件:
require(ggplot2)
x <- get.url(https://dl.dropboxusercontent.com/u/109495328/example.csv)
app_df <- read.csv(x, header=T, sep = ",", quote = "", stringsAsFactors = FALSE, na.strings = "..")
colnames(app_df) <- c("Date", "Weight")
date <- as.Date(strptime(app_df$Date, "%d.%m.%Y"))
weight <- app_df$Weight
df <- na.omit(data.frame(date,weight))
# plot 1 (only few values indicated in x axis)
ggplot(df, aes(date,weight)) +
geom_point() +
geom_line(aes(group = "1")) +
geom_smooth(method = "lm")
# plot 2 (no smooth function)
ggplot(df, aes(date,as.factor(weight))) +
geom_point() +
geom_line(aes(group = "1")) +
geom_smooth(method = "lm")
geom_smooth
)。同样,在图表2中,您将获得16个点,但是这个图表是错误的,因为权重必须用作整数,而不是因子。 - Didzis Elfertsscale_y_continuous
来自定义限制和断点。 - Gopalascale_y_continous
,以便我在 x 轴上获得与图 2 中相同的 16 个数据点? - Til Hund