我正在尝试使用ggplot()在箱线图中展示中位数值(即水平线),但R一直要求指定y轴。我有点困惑。
p <-structure(list(TYPE = structure(c(3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 2L,
3L, 3L, 3L, 3L, 3L, 2L, 3L, 3L, 2L, 3L, 2L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 2L, 3L, 3L, 3L, 1L, 2L, 3L, 3L, 2L, 3L, 3L, 3L, 1L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L), .Label = c("PM BUSINESS",
"PM CONSUMER", "PREPAY"), class = "factor"), TOTALREV = c(52.13,
53.01, 396.49, 596.52, 0, 33.89, 183.43, 0, 174.67, 120.56, 619.29,
171, 142.2, 77.14, 16.69, 176.86, 103.79, 799.8, 137.84, 187.84,
201.05, 16.69, 154.95, 195.98, 17.07, 158.96, 166.86, 8.89, 434.59,
34.55, 196.97, 783.74, 216.27, 1533.98, 137.6, 52.22, 88.61,
69.52, 52.18, 368.22, 139.89, 214.22, 163.46, 295.49, 319.73,
933.91, 199.19, 118.72, 0, 174.99, 141.72, 52.12, 115.25, 106.57,
106.12, 153.84, 1.45, 4.32, 168.93, 34.76, 249.21, 101.25, 87.69,
20.62, 0.87, 17.39, 0, 34.5, 131.36, 0, 106.43, 257.45, 0, 0,
256.63, 466.93, 44.25, 339.15, 71.42, 270.81, 145.85, 670.52,
187.06, 170.61, 153.59, 21.69, 166.14, 97, 104.4, 517.19, 230.78,
14.11, 52.33, 398.61, 56.65, 0, 26.02, 0, 154.78, 154.78)), .Names = c("TYPE",
"TOTALREV"), row.names = 23961:24060, class = "data.frame")
x6.3 <- qplot(TYPE, TOTALREV, data =p, geom = "boxplot")
x6.3+ stat_bin(geom="text",aes(x=TYPE,y=TOTALREV,label=TOTALREV),size = 3, hjust = 0.5, vjust = -1.5,position ="identity")
qplot
,并因比我快30秒而获得一票。 - mnelvjust
仅在0到1之间定义(请参见https://dev59.com/FWw05IYBdhLWcg3wZBAC的顶部答案)。尽管在这里使用`vjust=-1.5`似乎可以正常工作。 - Drew Steen