FILE.CSV的R - ggplot由可变
group metric
"1" 1.1
"0" 2.2
"0" 3.3
"1" 4.4
我在读上述file.csv
如下面的数据帧
df <- read.csv("file.csv", header=T)
# store col names for using later
group_name <- colnames(df)[1]
metric_name <- colnames(df)[2]
在创建一个箱形图通过颜色,我需要通过颜色变量group_name
p <- ggplot(data=df, aes(x=df[,group_name], y=df[,metric_name], color=group_name)) +
geom_boxplot(outlier.colour="darkred", outlier.shape = NA, fill = fill, color=line, alpha = 0.5) +
theme(legend.position = c(1, 1), legend.justification = c(1, 1))
p
问题在于,图中的图例显示为group_name
,而不是变量group_name
的值 - 需要做什么才能使颜色取值为变量group_name
?
在aes
中使用x=df[,group_name]
的原因是为了使其通常适用于任何csv文件,整个列的名称可能未知。
你为什么子集划分您的数据帧在'ggplot'调用中?做'aes(x = group,y = metric,color = group)'而不是 – yeedle
它有什么关系吗? – user3206440
我只是想知道你是否有任何理由为什么要像你一样存储列名。 – jazzurro