我正在尝试为条形图上色,而不能为我的生活弄清楚我做错了什么。我的数据看起来像
x <- structure(list(A = 0.98, B = 0.46, C = 0.81, D = 0.66, E = 0.76,
F = 0.42, G = 0.58, H = 0.99, I = 0.57, J = 0.81, K = 0.6,
L = 0.55, M = 0.4, N = 0.99, O = 0.6, P = 0.75, Q = 0.93,
R = 0.77), .Names = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R"), row.names = "dat", class = "data.frame")
我有一个我想用于颜色编码的标志。所以我试过了
col_code=c(1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0)
cols = c("red","blue")[col_code+1]
barplot(as.matrix(x),col=cols)
然而,这会产生单一的纯色(无论第二种颜色是什么)。我不能为我的生活告诉我在这里做的事情和解决这个问题的其他10个指南中的解决方案之间的区别,如果有人在这里指点我,我真的很感激在正确的方向。
答案 0 :(得分:0)
server {
listen 80;
listen [::]:80;
server_name www.example.com example.com;
return 301 https://www.example.com$request_uri;
}
函数非常具体地处理矩阵。如果您阅读帮助barplot
,您会看到:
如果高度是矩阵而旁边是FALSE,则图的每个条对应于一列高度,列中的值给出构成条的堆叠子条的高度。如果height是一个矩阵,而旁边是TRUE,那么每列中的值是并置的而不是堆叠的。
这意味着,矩阵用于创建堆叠条形图,每列是一个新条形,每一行都是一个堆叠的子区域。因此,当您设置?barplot
参数`时,您实际设置的是顺序堆叠的子条的颜色。如果你在矩阵中添加更多行,你会看到类似的东西
您想要的是设置col
beside = TRUE
或使用向量,而不是矩阵,即
barplot(height = as.matrix(x), col = cols, beside = TRUE)
提供图片:
或者,您可以使用ggplot
制作图表