我知道这种类型的问题已经问过很多次了,但是我找不到任何适合我的解决方案。
基本上,我正在尝试使用ggplot2的geom_point对图进行重新排序。这是我的数据框的示例:
> df
> Title: x1:x2, x2:x1, z:x1, x1:z
>
> value: 64, 34, 21, 6
我想做的是使用ggplot按value
从最低到最高对它们重新排序。
Title
是factor
,而value
是num
。
这是我用来绘制的代码:
ggplot(df, aes(x=value, y=Title)) +
geom_point(color="blue", size=4)
我一直在尝试遵循其他示例,在这些示例中,他们说要点菜,例如:
df$value <- df[order(df$value), ]
,但是在重新排序df$value
之后,ggplot将覆盖该顺序。实际上,我尝试绘制的顺序如下所示:
标题:x1:z,z:x1,x2:x1,x1:x2
值:6,21,34,64
有关如何解决此问题的任何建议?
答案 0 :(得分:2)
最简单的解决方案是在reorder
中使用ggplot
。我认为Title
应该是您的x轴变量。
df %>%
ggplot(aes(reorder(Title, value), value)) +
geom_point()
您还可以查看?forcats::fct_reorder
。