use*_*810 -2 r bar-chart ggplot2
构建条形图以比较两组数据的最佳方法是什么?
例如数据集:
Number <- c(1,2,3,4)
Yresult <- c(1233,223,2223,4455)
Xresult <- c(1223,334,4421,0)
nyx <- data.frame(Number, Yresult, Xresult)
Run Code Online (Sandbox Code Playgroud)
我想要的是横跨X的数字和彼此相邻的条形,代表各个X和Y值
最好将数据重新整形为长格式.可以做到这一点与例如melt所述的功能reshape2包(替代方案是reshape从基R,melt从data.table(这是一个扩展执行的melt功能reshape2)和gather从tidyr).
使用您的数据集:
# load needed libraries
library(reshape2)
library(ggplot2)
# reshape your data into long format
nyxlong <- melt(nyx, id=c("Number"))
# make the plot
ggplot(nyxlong) +
geom_bar(aes(x = Number, y = value, fill = variable),
stat="identity", position = "dodge", width = 0.7) +
scale_fill_manual("Result\n", values = c("red","blue"),
labels = c(" Yresult", " Xresult")) +
labs(x="\nNumber",y="Result\n") +
theme_bw(base_size = 14)
Run Code Online (Sandbox Code Playgroud)
这给出了以下条形图:
| 归档时间: |
|
| 查看次数: |
7282 次 |
| 最近记录: |