根据分组变量的颜色条形图
Color bar graph according to grouping variable
我一直在寻找堆栈上的一些时间,但没有答案直接对应于我正在寻找的内容。
我想在条形图中绘制一些结果,并根据数据集另一列中的分组值为条形着色。因此,第 1 列是分组变量("v" 和 "d"),第 2 列是标绘值。我正在尝试从第 1 列中创建一个列表,我可以将其用作颜色参数,但我找不到准确定义它的方法。
status diff
d -2141,5
v 510
d -947
v 867
d -960,5
v 903
d -421
v 1285,5
d -1155
v 556,5
谢谢!
一种方法是使用命名向量来定义颜色,您可以用因子的水平对其进行索引(这假设分组列是一个因子;否则它必须是一个字符向量,在这种情况下它可以直接用作索引参数):
df <- data.frame(status=c('d','v','d','v','d','v','d','v','d','v'), diff=c(-2141.5,510,-947,867,-960.5,903,-421,1285.5,-1155,556.5) );
cols <- c(d='red',v='green');
barplot(df$diff,col=cols[levels(df$status)[df$status]]);
我一直在寻找堆栈上的一些时间,但没有答案直接对应于我正在寻找的内容。
我想在条形图中绘制一些结果,并根据数据集另一列中的分组值为条形着色。因此,第 1 列是分组变量("v" 和 "d"),第 2 列是标绘值。我正在尝试从第 1 列中创建一个列表,我可以将其用作颜色参数,但我找不到准确定义它的方法。
status diff
d -2141,5
v 510
d -947
v 867
d -960,5
v 903
d -421
v 1285,5
d -1155
v 556,5
谢谢!
一种方法是使用命名向量来定义颜色,您可以用因子的水平对其进行索引(这假设分组列是一个因子;否则它必须是一个字符向量,在这种情况下它可以直接用作索引参数):
df <- data.frame(status=c('d','v','d','v','d','v','d','v','d','v'), diff=c(-2141.5,510,-947,867,-960.5,903,-421,1285.5,-1155,556.5) );
cols <- c(d='red',v='green');
barplot(df$diff,col=cols[levels(df$status)[df$status]]);