我需要生成 barplot ,其中包含以下内容:
I have a csv file with columns: Category Reason Time Value
-
类别有7个可能的名字(c1 ... c7)
-
Reason有8个可能的名字(n1 ... n8)
-
时间有2个可能的名字(T1,T2)
-
值是时间值
示例数据集:
Category Reason Time Value
C1 R1 T1 1
C2 R1 T2 2
C1 R2 T1 3
C2 R2 T2 4
C1 R3 T1 8
C2 R3 T2 0
What i want to achieve: 一个条形图,由3组(即每个REASON一组)组成,其中每组由2个堆叠条组成(即每个CATEGORY的条形图),其中每个条形图描绘其顶部的T1和T2 .
我想我需要类似于R: bar plot with two groups, of which one is stacked的东西,但不幸的是我对R来说很新 .
Similar to this picture, which has in terms of my example:
-
5个类别
-
3个理由
-
4倍的值
-
%作为时间值
任何帮助表示赞赏 .
2 回答
我将向您介绍R中的
ggplot
包,它可以为您提供更好的可视化问题的方法 . 即使它无法解决您当前的问题,ggplot
也是最容易在R中开始可视化的方法 .首先是代码:
library
将加载ggplot
和scales
包生成虚拟数据集
在x轴上绘制
Category
,在y轴上绘制Value
,将Time
绘制为需要geom_bar()
的堆积条 .ggplot
可以使用facets
,而不是在条形图本身上进行分组,从而产生更清晰的结果 .scale_y_continuous()
将您的y轴转换为百分比 .你介意共享.csv文件的某个版本吗?没有它我的猜测看起来像这样......
如果我能看到一些测试数据,我很乐意帮助更多:)
仍然不是100%你正在尝试用时间值做什么,但这可能就足够了 . 我稍微调整了您的样本数据,因此时间和类别并不总是同步 .