作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在努力使用ggplot2软件包在R中制作Pareto Chart。在许多情况下,制作条形图或直方图时,我们希望项目按X轴排序。在帕累托图表中,我们希望项目按Y轴上的值降序排列。有没有办法让ggplot绘制由Y轴上的值排序的项目?我尝试首先对数据帧进行排序,但ggplot似乎对其进行了重新排序。
例:
val <- read.csv("http://www.cerebralmastication.com/wp-content/uploads/2009/11/val.txt")
val<-with(val, val[order(-Value), ])
p <- ggplot(val)
p + geom_bar(aes(State, Value, fill=variable), stat = "identity", position="dodge") + scale_fill_brewer(palette = "Set1")
ggplot(val, aes(State, Value)) + geom_bar(stat = "identity", subset = .(variable == "estimate"), fill = "grey70") + geom_crossbar(aes(ymin = Value, ymax = Value), subset = .(variable == "actual"))
最佳答案
ggplot2中的条按因子中的水平顺序进行排序。
val$State <- with(val, factor(val$State, levels=val[order(-Value), ]$State))
关于r - 使用ggplot2和R创建帕累托图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735540/
我是一名优秀的程序员,十分优秀!