我正在尝试绘制以下数据:
ph1 = c(5, 6, 7, 8, 9)
ph2 = ph3 = ph1
e1 = c(0.191, 0.154, 0.179, 0.073, 0.009)
e2 = c(0, 0.029, 0.054, 0.055, 0.024)
e3 = c(0.019, 0.027, 0.063, 0.029, 0.039)
set.seed(1)
df1 <- data.frame(e1 = sort(runif(5, 0.05, 0.25)),
e2 = sort(runif(5, 0.05, 0.25)),
e3 = sort(runif(5, 0.05, 0.25)),
ph1 = sort(runif(5, 1, 100)),
ph2 = sort(runif(5, 1, 100)),
ph3 = sort(runif(5, 1, 100))
)
### reshape this to give a column indicating group
df2 <- with(df1,
as.data.frame(cbind( c(ph1, ph2, ph3),
c(e1, e2, e3),
rep(seq(3), each=5) )
))
colnames(df2) <- c("ph","maltose_in_mg","team")
df2$team <- as.factor(df2$team)
library(ggplot2)
ggplot(df2, aes(x=ph, y=maltose_in_mg, col=team)) + geom_line()
...以 x 轴上的 pH 值(5 到 9)作为标签。不幸的是,标签显示的范围是 0 到 100。
编辑(注:非功能性解决方案):
df1 <- data.frame(e1 = sort(runif(5, 0.05, 0.25)),
e2 = sort(runif(5, 0.05, 0.25)),
e3 = sort(runif(5, 0.05, 0.25)),
ph1 = sort(runif(1, 5, 9)),
ph2 = sort(runif(1, 5, 9)),
ph3 = sort(runif(1, 5, 9))
)