Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R base plot从R base table中创建一个堆叠直方图,作为带有行颜色图案的条形码图_R_Matrix_Plot_Histogram - Fatal编程技术网

如何使用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)