dep*_*ate 0 excel plot r graph ggplot2
我有百分比数据。我想使用 ggplot 创建一个图形,但我无法让它像我想要的那样工作。由于数据非常倾斜,一个简单的堆叠列不能很好地工作,因为真正小的值不会显示。这是一个样本集:
Actual Predicted
a 0.5 5
b 9.5 5
c 90 90
Run Code Online (Sandbox Code Playgroud)
左边是excel图,右边是R-ggplot
问题是在 R 中,列不会堆叠成偶数。
这是我的 R 代码:
a = c("a","b","c","a","b","c")
b = c("Actual","Actual","Actual","Predicted","Predicted","Predicted")
c = c(0.5,2.5,97,0.2,2.2,97.6)
c = c+1
dat = data.frame(Type=a, Case=b, Percentage=c)
ggplot(dat, aes(x=Case, y=Percentage, fill=Type)) + geom_bar(stat="identity") + scale_y_log10()
Run Code Online (Sandbox Code Playgroud)
*在 Excel 和 RI 中都做 +1 来处理数字 0-1,所以 y 轴稍微偏离
如果我使用:
ggplot(dat, aes(x=Case, y=Percentage, fill=Type)) + geom_bar(stat="identity",position = "fill") + scale_y_log10()
Run Code Online (Sandbox Code Playgroud)
总高度匹配,但是两个蓝色部分的大小不匹配(它们都是 90%)
仅仅因为两组数字相加得到相同的值(在本例中为 103)并不意味着日志的总和将相加为相同的值!当您在没有“填充”的情况下堆叠条形时,您会得到不同的高度,因为值的对数总和不同。当你将它全部缩放到相同的高度时,你必须以不同的速度压扁蓝色的盒子,所以它们看起来不同。
Excel 条形图是故意误导的。左边的红色条与其上方的蓝色条大小相同,但代表的值约为蓝色条的十分之一。你不能在比例的对数刻度上制作条形图 - 这是错误的。
有一种绝妙的方法可以显示小数字而不会丢失它们或歪曲它们。它是一种惊人的可视化技术,称为“在表格中写入数字”。
归档时间: |
|
查看次数: |
1477 次 |
最近记录: |