条形图结果与数据不匹配
Barchart result not matching data
我有一个包含一些数据的矩阵,我已将这些数据绘制到条形图上,但是当观察条形图结果时,数据似乎不正确。例如,a3
条形图的值应为 12,但它在条形图上似乎超过了 15。对 R 编程还很陌生,如果能深入了解我可能出错的地方,我将不胜感激。
R
colors = c("blue","purple","brown")
assettypes <- c("a1","a2","a3","a4","a5", "a6")
groups <- c("c1","c2")
Values <- matrix(c(3,6,4,3,4,6,
12,9,12,12,11,9), nrow = 2, ncol = 6, byrow = TRUE)
barplot(Values, main = "C1 vs C2", names.arg = assettypes, xlab = "Assets", ylab = "Amount", col = colors)
legend("topleft", groups, cex = 1.3, fill = colors)
条形图输出
也许需要一个闪避条形图?将 beside = TRUE
添加到对 barplot 的调用(总是值得检查函数帮助 ?barplot
)。
注:
- 从颜色中删除了“棕色”,因为数据集中似乎只有两组。
- 移动了图例,使其不与条形重叠。
colors = c("blue","purple")
barplot(Values, main = "C1 vs C2", names.arg = assettypes, xlab = "Assets", ylab = "Amount", col = colors, beside = TRUE)
legend("topright", groups, cex = 1, fill = colors)
由 reprex package (v2.0.1)
创建于 2022-03-13
我认为堆叠条形图绘制的数据正确。让我们看看您的价值观:
colors = c("blue","purple","brown")
assettypes <- c("a1","a2","a3","a4","a5", "a6")
groups <- c("c1","c2")
Values <- matrix(c(3,6,4,3,4,6,
12,9,12,12,11,9), nrow = 2, ncol = 6, byrow = TRUE)
输出值:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 3 6 4 3 4 6
[2,] 12 9 12 12 11 9
如您所见,a3
是 4+12,这意味着它是 16。所有其他值合并为 15。所以这就是情节正确的原因。
barplot(Values, main = "C1 vs C2", names.arg = assettypes, xlab = "Assets", ylab = "Amount", col = colors, beside=FALSE)
legend("topleft", groups, cex = 1.3, fill = colors)
输出条形图:
代码工作正常并且值正确堆叠。为了避免任何可能的误解,我将组名更改为row 1
和row 2
。
示例代码:
bb<-barplot(Values,
main = "Row 1 vs Row 2",
names.arg = assettypes,
xlab = "Assets",
ylab = "Amount",
col = colors,
ylim = c(0, 20))
legend("top", groups, cex = 1.3, fill = colors)
text(bb,Values [1,]+4,labels=Values [1,],font=2, cex=.8)
text(bb,colSums(Values)-13,labels=Values[2,],font=2, cex=0.8)
剧情:
示例数据:
colors = c("blue","purple")
assettypes <- c("a1","a2","a3","a4","a5", "a6")
groups <- c("row 1","row 2")
Values <-matrix(c(3,6,4,3,4,6,
12,9,12,12,11,9),
nrow = 2, ncol = 6, byrow = TRUE)
Values
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 3 6 4 3 4 6
[2,] 12 9 12 12 11 9
我有一个包含一些数据的矩阵,我已将这些数据绘制到条形图上,但是当观察条形图结果时,数据似乎不正确。例如,a3
条形图的值应为 12,但它在条形图上似乎超过了 15。对 R 编程还很陌生,如果能深入了解我可能出错的地方,我将不胜感激。
R
colors = c("blue","purple","brown")
assettypes <- c("a1","a2","a3","a4","a5", "a6")
groups <- c("c1","c2")
Values <- matrix(c(3,6,4,3,4,6,
12,9,12,12,11,9), nrow = 2, ncol = 6, byrow = TRUE)
barplot(Values, main = "C1 vs C2", names.arg = assettypes, xlab = "Assets", ylab = "Amount", col = colors)
legend("topleft", groups, cex = 1.3, fill = colors)
条形图输出
也许需要一个闪避条形图?将 beside = TRUE
添加到对 barplot 的调用(总是值得检查函数帮助 ?barplot
)。
注:
- 从颜色中删除了“棕色”,因为数据集中似乎只有两组。
- 移动了图例,使其不与条形重叠。
colors = c("blue","purple")
barplot(Values, main = "C1 vs C2", names.arg = assettypes, xlab = "Assets", ylab = "Amount", col = colors, beside = TRUE)
legend("topright", groups, cex = 1, fill = colors)
由 reprex package (v2.0.1)
创建于 2022-03-13我认为堆叠条形图绘制的数据正确。让我们看看您的价值观:
colors = c("blue","purple","brown")
assettypes <- c("a1","a2","a3","a4","a5", "a6")
groups <- c("c1","c2")
Values <- matrix(c(3,6,4,3,4,6,
12,9,12,12,11,9), nrow = 2, ncol = 6, byrow = TRUE)
输出值:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 3 6 4 3 4 6
[2,] 12 9 12 12 11 9
如您所见,a3
是 4+12,这意味着它是 16。所有其他值合并为 15。所以这就是情节正确的原因。
barplot(Values, main = "C1 vs C2", names.arg = assettypes, xlab = "Assets", ylab = "Amount", col = colors, beside=FALSE)
legend("topleft", groups, cex = 1.3, fill = colors)
输出条形图:
代码工作正常并且值正确堆叠。为了避免任何可能的误解,我将组名更改为row 1
和row 2
。
示例代码:
bb<-barplot(Values,
main = "Row 1 vs Row 2",
names.arg = assettypes,
xlab = "Assets",
ylab = "Amount",
col = colors,
ylim = c(0, 20))
legend("top", groups, cex = 1.3, fill = colors)
text(bb,Values [1,]+4,labels=Values [1,],font=2, cex=.8)
text(bb,colSums(Values)-13,labels=Values[2,],font=2, cex=0.8)
剧情:
示例数据:
colors = c("blue","purple")
assettypes <- c("a1","a2","a3","a4","a5", "a6")
groups <- c("row 1","row 2")
Values <-matrix(c(3,6,4,3,4,6,
12,9,12,12,11,9),
nrow = 2, ncol = 6, byrow = TRUE)
Values
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 3 6 4 3 4 6
[2,] 12 9 12 12 11 9