如何使用R base plot从R base table中创建一个堆叠直方图,作为带有行颜色图案的条形码图
在使用如何使用R base plot从R base table中创建一个堆叠直方图,作为带有行颜色图案的条形码图,r,matrix,plot,histogram,R,Matrix,Plot,Histogram,在使用base::plot()绘制表格时,我遇到了一个简洁的特性 然后,它给出了一个带有预期颜色的垂直条码,但是现在单个条码的高度差异丢失,总的列方向差异表示为条码宽度 有人知道如何用第三个图形的着色模式精确地得到第一个图形吗 我知道ggplot2软件包的多功能性,它肯定可以为我的问题提供类似的解决方案,但是可能需要大量额外的代码才能将堆叠的条形图显示为分数而不是绝对值,或者可能我遗漏了一些东西。似乎这个问题不太可行。。。我想把它作为一个关于如何用ggplot2解决这个着色问题的问题重新发布,
base::plot()绘制表格时,我遇到了一个简洁的特性
然后,它给出了一个带有预期颜色的垂直条码,但是现在单个条码的高度差异丢失,总的列方向差异表示为条码宽度
有人知道如何用第三个图形的着色模式精确地得到第一个图形吗
我知道ggplot2软件包的多功能性,它肯定可以为我的问题提供类似的解决方案,但是可能需要大量额外的代码才能将堆叠的条形图显示为分数而不是绝对值,或者可能我遗漏了一些东西。似乎这个问题不太可行。。。我想把它作为一个关于如何用ggplot2解决这个着色问题的问题重新发布,希望能给出一些答案
> test.matrix<-matrix(c(70,120,65,140,13,68,46,294,52,410),ncol=2,byrow=TRUE)
> rownames(test.matrix)<-c("BC.1","BC.2","GC","MO","EB")
> colnames(test.matrix)<-c("12m","3m")
> test.matrix <- as.table(test.matrix)
> test.matrix
12m 3m
BC.1 70 120
BC.2 65 140
GC 13 68
MO 46 294
EB 52 410
> plot(test.matrix)
> color.ct <- c("gold","yellowgreen","navy","royalblue","orangered")
> names(x = color.ct) <- rownames(test.matrix)
> color.ct
BC.1 BC.2 GC MO EB
"gold" "yellowgreen" "navy" "royalblue" "orangered"
> plot(test.matrix, col= color.ct)
plot(t(test.matrix), col= color.ct)