scale_fill_manual 仅适用于图例,不适用于条形图
scale_fill_manual is only applying to the legend and not bars
我有一个如下所示的数据框 (df):
gene
p_value
p_value_dif
p-value category
a
0.06
0.01
non-sig
c
0.07
0.02
non-sig
d
0.008
- 0.03
sig
e
0.009
- 0.04
sig
我使用以下代码创建了一个发散条形图:
ggplot(df, aes(x=gene,
y=p_value_dif ,
label=p_value_dif )) +
geom_bar(stat='identity',
aes(fill= (as.factor(p_value_dif)),
width=0.9) +
scale_fill_manual("legend",
values = c("Significant" = "black", "Insignificant" = "orange"))+
coord_flip()
问题是只有我的图例将颜色更改为黑色和橙色。条形图保持灰色。我该怎么做才能使图例中的颜色与条形图的颜色相匹配?
注意:如果“填充”未设置为“as.factor”,我会得到以下信息:
错误:提供给离散比例的连续值
问题是您的列 p_value_dif
不包含任何值 "Significant"
或 "Insignificant"
。只有这些值会被填充为“黑色”或“橙色”。所有其他值将填充比例的默认值 na.value
。相反,您可以将列 p-value.category
映射到填充上,并像这样设置填充颜色和标签:
library(ggplot2)
ggplot(df, aes(x=gene,
y=p_value_dif ,
label=p_value_dif )) +
geom_bar(stat='identity',
aes(fill= `p-value.category`),
width=0.9) +
scale_fill_manual("legend",
values = c("sig" = "black", "non-sig" = "orange"),
labels = c("sig" = "Significant", "non-sig" = "Insignificant"))+
coord_flip()
数据
df <- data.frame(
stringsAsFactors = FALSE,
check.names = FALSE,
gene = c("a", "c", "d", "e"),
p_value = c(0.06, 0.07, 0.008, 0.009),
p_value_dif = c("0.01", "0.02", "- 0.03", "- 0.04"),
`p-value.category` = c("non-sig", "non-sig", "sig", "sig")
)
我有一个如下所示的数据框 (df):
gene | p_value | p_value_dif | p-value category |
---|---|---|---|
a | 0.06 | 0.01 | non-sig |
c | 0.07 | 0.02 | non-sig |
d | 0.008 | - 0.03 | sig |
e | 0.009 | - 0.04 | sig |
我使用以下代码创建了一个发散条形图:
ggplot(df, aes(x=gene,
y=p_value_dif ,
label=p_value_dif )) +
geom_bar(stat='identity',
aes(fill= (as.factor(p_value_dif)),
width=0.9) +
scale_fill_manual("legend",
values = c("Significant" = "black", "Insignificant" = "orange"))+
coord_flip()
问题是只有我的图例将颜色更改为黑色和橙色。条形图保持灰色。我该怎么做才能使图例中的颜色与条形图的颜色相匹配?
注意:如果“填充”未设置为“as.factor”,我会得到以下信息: 错误:提供给离散比例的连续值
问题是您的列 p_value_dif
不包含任何值 "Significant"
或 "Insignificant"
。只有这些值会被填充为“黑色”或“橙色”。所有其他值将填充比例的默认值 na.value
。相反,您可以将列 p-value.category
映射到填充上,并像这样设置填充颜色和标签:
library(ggplot2)
ggplot(df, aes(x=gene,
y=p_value_dif ,
label=p_value_dif )) +
geom_bar(stat='identity',
aes(fill= `p-value.category`),
width=0.9) +
scale_fill_manual("legend",
values = c("sig" = "black", "non-sig" = "orange"),
labels = c("sig" = "Significant", "non-sig" = "Insignificant"))+
coord_flip()
数据
df <- data.frame(
stringsAsFactors = FALSE,
check.names = FALSE,
gene = c("a", "c", "d", "e"),
p_value = c(0.06, 0.07, 0.008, 0.009),
p_value_dif = c("0.01", "0.02", "- 0.03", "- 0.04"),
`p-value.category` = c("non-sig", "non-sig", "sig", "sig")
)