[英]Sorting the values while using geom_bar(stat="identity")
我正在使用ggplot2
,目前我ggplot2
了以下问题。 我有以下数据集,可以复制。
library(tidyverse)
TestDF = data.frame(Effect1 = rnorm(100, 10, 1), Effect2 = rnorm(100, 5, 1)) %>%
arrange(Effect1) %>% mutate(IDs = 1:100) %>%
melt(measure.vars = 1:2 , variable.name = "Effects")
由于我希望根据Effect1
的值使用x
对其进行绘制,因此我已将arrange(Effect1)
放入数据arrange(Effect1)
。 然后我使用以下代码绘制:
ggplot(TestDF, aes(IDs, y=value, fill=Effects)) +
geom_bar(stat="identity", alpha = .7)
我遇到的问题是:该图具有Effect1
值增加的“一般”趋势(正如我们从左到右所见),但从未完全根据Effect1
的值进行Effect1
。
我试过了
TestDF$IDs = factor(TestDF$IDs, levels=1:100)
但它从未解决我的问题。 任何其他解决方案(或绕过)?
看起来 barplot 正在做你想做的事,但效果的顺序让它看起来不对。 如果 Effect1 低于 Effect2,则情节看起来是正确的。
library(tidyverse)
library(reshape2)
TestDF = data.frame(Effect1 = rnorm(100, 10, 1), Effect2 = rnorm(100, 5, 1)) %>%
arrange(Effect1) %>% mutate(IDs = 1:100) %>%
melt(measure.vars = 1:2 , variable.name = "Effects") %>%
mutate(Effects = factor(Effects, levels = c('Effect2', 'Effect1')))
ggplot(TestDF, aes(IDs, y=value, fill=Effects)) +
geom_bar(stat="identity", alpha = .7)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.