使用以下命令在 ggbox 图中标记单个框时乱序标签:stat_summary(geom = 'text', label = letters
Out of order labels when labeling individual boxes in ggbox plot using: stat_summary(geom = 'text', label = letters
希望在 ggplot 创建的箱线图中标记各个框。正如此 post [在 ggplot 箱线图中标记单个框}( 中的答案所建议的那样,我正在使用 stat_summary 函数来执行此操作。
论坛中的示例代码post:
ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_boxplot() +
stat_summary(geom = 'text', label = letters[1:3], fun.y = max, vjust = -1)
但是,当我尝试为自己的情节重新创建时,标签出现了问题。每个框的标签都没有被标记为“a”、“b”、“c”等。从左到右出现在图上,但出现了“a”、“b”、“c”标签按轴标签的字母顺序排列。有什么简单的方法可以纠正这个问题吗?
我的代码示例:
maxn_topo_plot<- ggplot(wide.df2, aes(x=topo, y=sum_maxn)) +
geom_boxplot(show.legend = FALSE) + theme_pubclean(base_size = 18) +
xlab("Island Geomorpholgy") + ylab("Shark MaxN") +
scale_x_discrete(limits=c("open atoll","closed atoll","near atoll",
"high barrier", "high rocky", "high fringing ")) +
theme(axis.text.x = element_text(angle = 12)) +
stat_summary(geom = 'text',
label = c("a","b","c","d", "e", "g"),
fun = max, vjust = -1, size= 6)
maxn_topo_plot
这是因为 label() 考虑了变量“topo”的因子水平。请注意 a b c .. 按照字母顺序排序。
当您使用 scale_x_discrete 更改 X 轴的顺序时,您不会更改因子水平的顺序。
就像我在你的另一个问题中提到的那样。更改 X 的因子水平而不是更改 scale_x_discrete.
maxn_topo_plot<- ggplot(wide.df2, aes(x= factor(topo,
levels = c("open atoll",
"closed atoll",
"near atoll",
"high barrier",
"high rocky",
"high fringing")), y=sum_maxn)) +
geom_boxplot(show.legend = FALSE) +
xlab("Island Geomorpholgy") +
ylab("Shark MaxN") +
theme_pubclean(base_size = 20) +
theme(axis.text.x = element_text(angle = 12))+
stat_summary(geom = 'text',
label = c("a","b","c","d", "e", "g"),
fun = max, vjust = -1, size= 6)
希望在 ggplot 创建的箱线图中标记各个框。正如此 post [在 ggplot 箱线图中标记单个框}( 中的答案所建议的那样,我正在使用 stat_summary 函数来执行此操作。
论坛中的示例代码post:
ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_boxplot() +
stat_summary(geom = 'text', label = letters[1:3], fun.y = max, vjust = -1)
但是,当我尝试为自己的情节重新创建时,标签出现了问题。每个框的标签都没有被标记为“a”、“b”、“c”等。从左到右出现在图上,但出现了“a”、“b”、“c”标签按轴标签的字母顺序排列。有什么简单的方法可以纠正这个问题吗?
我的代码示例:
maxn_topo_plot<- ggplot(wide.df2, aes(x=topo, y=sum_maxn)) +
geom_boxplot(show.legend = FALSE) + theme_pubclean(base_size = 18) +
xlab("Island Geomorpholgy") + ylab("Shark MaxN") +
scale_x_discrete(limits=c("open atoll","closed atoll","near atoll",
"high barrier", "high rocky", "high fringing ")) +
theme(axis.text.x = element_text(angle = 12)) +
stat_summary(geom = 'text',
label = c("a","b","c","d", "e", "g"),
fun = max, vjust = -1, size= 6)
maxn_topo_plot
这是因为 label() 考虑了变量“topo”的因子水平。请注意 a b c .. 按照字母顺序排序。
当您使用 scale_x_discrete 更改 X 轴的顺序时,您不会更改因子水平的顺序。
就像我在你的另一个问题中提到的那样。更改 X 的因子水平而不是更改 scale_x_discrete.
maxn_topo_plot<- ggplot(wide.df2, aes(x= factor(topo,
levels = c("open atoll",
"closed atoll",
"near atoll",
"high barrier",
"high rocky",
"high fringing")), y=sum_maxn)) +
geom_boxplot(show.legend = FALSE) +
xlab("Island Geomorpholgy") +
ylab("Shark MaxN") +
theme_pubclean(base_size = 20) +
theme(axis.text.x = element_text(angle = 12))+
stat_summary(geom = 'text',
label = c("a","b","c","d", "e", "g"),
fun = max, vjust = -1, size= 6)