以下示例代码:
require(ggplot2)
stats <- data.frame(Day=0:5, Mean=c(3.2, 2.7, 0.8, 0.2, 0, 0), Q10=0.0, Q90=c(7.48, 4.0, 2.2, 1.2, 0, 0))
plot <- ggplot(stats, aes(x=Day, y=Mean)) +
geom_point(size=4) +
geom_line(size=1.5) +
geom_errorbar(aes(ymin=Q10, ymax=Q90), width=0.2) +
ggtitle("Example") +
ylab("Pain Score") +
scale_x_continuous("Day", expand=c(0.02,0), limits=c(0,15), breaks=0:15, labels=c("DOS", 1:15)) +
scale_y_continuous("Pain Score", expand=c(0.02,0), limits=c(0,10), breaks=0:10)
print(plot)
制作以下图:
我一直无法弄清楚为什么最左边的错误栏末端没有'T'。
答案 0 :(得分:4)
问题在于您的scale_x_continuous()
声明。您将limits=
从0开始设置,但是对于第一个条“T”超出此限制,因此将其删除(您删除了geom_path()
一行的警告)。如果您将limits=
设置为例如-0.3中的星号,则会显示“T”。
+ scale_x_continuous("Day", expand=c(0.02,0), limits=c(-0.3,15),
breaks=0:15, labels=c("DOS", 1:15))
答案 1 :(得分:1)
请注意警告:
Warning message:
Removed 1 rows containing missing values (geom_path).
使用coord_cartesian
指定限制而不丢弃数据:
plot <- ggplot(stats, aes(x=Day, y=Mean)) +
geom_point(size=4) +
geom_line(size=1.5) +
geom_errorbar(aes(ymin=Q10, ymax=Q90), width=0.2) +
ggtitle("Example") +
ylab("Pain Score") +
scale_x_continuous("Day", breaks=0:15, labels=c("DOS", 1:15)) +
scale_y_continuous("Pain Score", breaks=0:10) +
coord_cartesian(xlim = c(-0.3, 15.3), ylim = c(-0.3,10.3))
print(plot)