我试图在R中绘制这些数据 -
column1 column2 column3
1-2 abc 10
1-2 def 15
1-2 ghi 20
2-3 abc 80
2-3 def 95
2-3 ghi 10
3-4 abc 30
3-4 def 55
3-4 ghi 80
x轴为column1(因此1-2,3-3和3-4将作为x轴存在),而在y轴上,应为每个column2元素绘制column3中的值 . 所以这将是一个“分组”的条形图 .
我无法使用R绘制这个分组的条形图 . 我使用的代码片段如下:
dataset <- fetch(rs,n=-1)
plot_var <- table(dataset$percentage, dataset$age)
barplot(plot_var, names.arg,
main="Title of Graph",
xlab="Column1", col=c("darkblue","red"),
legend = rownames(plot_var), beside=TRUE)
如何显示此分组条形图?谢谢!
3 回答
您的问题似乎归结为错误的数据格式 . 您需要使用正确的行名称结构制作矩阵,以使用基本图形创建所需的绘图 . 这是你的解决方案:
但是,我有时喜欢使用
lattice
来完成这项任务 . 这次你甚至不需要制作矩阵,你只需保留原始格式的data.frame
:我喜欢使用
ggplot2
来完成这项任务 .我发现这个直观的(在一段学习期之后)的原因是你在x和y轴上清楚地说明了你想要的东西,我们只是告诉ggplot(以及哪个变量定义'fill'颜色,以及哪种颜色)情节 - 这里,
geom_bar
- 使用 .我从Drew Steen的回答中找到了帮助,但上面的代码对我来说并不适合我 . 我添加了stat =“identity”并且它有效 .
谢谢你画了你的答案 .