我正在尝试将此茎图中的条形从最长到最短进行排列。这个https://www.r-graph-gallery.com/301-custom-lollipop-chart/建议我可以在将管道插入图形之前使用ranging函数。我无法重现他们的例子。这些条以某种随机顺序结束。知道arrange
为什么不起作用
mtcars %>%
mutate(mpg = as.numeric(mpg)) %>%
mutate(x = factor(rownames( mtcars))) %>%
arrange(mpg) %>%
ggplot( aes(x=x, y=mpg)) +
geom_segment( aes(x=x, xend=x, y=0, yend=mpg), color="skyblue", size=1) +
geom_point( color="blue", size=4, alpha=0.6) +
theme_light() +
coord_flip()
答案 0 :(得分:2)
也许在创建x变量之前先按mpg进行排列。
mtcars %>%
mutate(mpg = as.numeric(mpg)) %>%
arrange(mpg) %>%
mutate(x = factor(rownames( mtcars), levels = rownames( mtcars))) %>%
ggplot( aes(x=x, y=mpg)) +
geom_segment( aes(x=x, xend=x, y=0, yend=mpg), color="skyblue", size=1) +
geom_point( color="blue", size=4, alpha=0.6) +
theme_light() +
coord_flip()
答案 1 :(得分:2)
我正在手机上快速编写此答案,因此请原谅我没有可测试的代码,但是您需要更改因子的顺序,而要安排数据帧。