更改闪避条形图的默认 ggplot 颜色
Changing default ggplot colours of a dodged bar chart
我有以下数据框:
from variable value
1 ASM cent.degree 0.208333333
2 AUS cent.degree 0.958333333
3 COK cent.degree 0.166666667
4 FJI cent.degree 0.916666667
5 FSM cent.degree 0.208333333
6 GUM cent.degree 0.208333333
26 ASM cent.betweenness 0.000000000
27 AUS cent.betweenness 0.588500000
28 COK cent.betweenness 0.000000000
29 FJI cent.betweenness 0.509333333
30 FSM cent.betweenness 0.001666667
31 GUM cent.betweenness 0.001666667
以及以下代码:
geom_bar(stat='identity', position='dodge') +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(legend.position="bottom") +
ggtitle("Központiság mutatók") +
#scale_y_continuous(trans = "log2") +
scale_x_discrete(name = "Származás") +
scale_fill_discrete(name = NULL, labels = c("Degree centrality (Népszerűség)",
"Closeness centrality (Befolyás)",
"Betweenness centrality (Alkuerő)",
"Sajátvektor központiság (Státusz)"))
它提供了总共四个变量的并排条形图,根据它是哪个变量来区分颜色。我遇到的麻烦是改变颜色(四种新颜色)。我尝试添加 scale_fill_manual(values = oc.color[1:4]) +
(其中 oc.color
是十六进制向量),但它显示 "Scale for 'fill' is already present. Adding another scale for 'fill', which will replace the existing scale.",并继续使用默认的 ggplot 颜色。
感谢您的帮助。
您可能在 scale_fill_discrete
之前添加了 scale_fill_manual
。这样 scale_fill_discrete
将用默认颜色替换您的颜色。最好和推荐的方法是每个美学只使用一个尺度。试试这个:
library(ggplot2)
oc.color <- c("red", "blue", "green", "pink")
ggplot(df, aes(from, value, fill = variable)) +
geom_bar(stat='identity', position='dodge') +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(legend.position="bottom") +
ggtitle("Központiság mutatók") +
scale_x_discrete(name = "Származás") +
scale_fill_manual(name = NULL, labels = c("Degree centrality (Nepszerűség)",
"Closeness centrality (Befolyás)",
"Betweenness centrality (Alkuerő)",
"Sajátvektor központiság (Státusz)"), values = oc.color[1:4])
这在我的系统中有效:
oc.color <- c("#999999", "#E69F00", "#56B4E9","#56B0E9");
df %>% ggplot(aes(from, value)) +
geom_bar(stat='identity', position='dodge', aes(fill = variable)) +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(legend.position="bottom") +
ggtitle("Központiság mutatók") +
#scale_y_continuous(trans = "log2") +
scale_x_discrete(name = "Származás") +
scale_fill_discrete(name = NULL, labels = c("Degree centrality (Népszerűség)",
"Closeness centrality (Befolyás)",
"Betweenness centrality (Alkuerő)",
"Sajátvektor központiság (Státusz)")) +
scale_fill_manual(values = oc.color[1:4]);
我有以下数据框:
from variable value
1 ASM cent.degree 0.208333333
2 AUS cent.degree 0.958333333
3 COK cent.degree 0.166666667
4 FJI cent.degree 0.916666667
5 FSM cent.degree 0.208333333
6 GUM cent.degree 0.208333333
26 ASM cent.betweenness 0.000000000
27 AUS cent.betweenness 0.588500000
28 COK cent.betweenness 0.000000000
29 FJI cent.betweenness 0.509333333
30 FSM cent.betweenness 0.001666667
31 GUM cent.betweenness 0.001666667
以及以下代码:
geom_bar(stat='identity', position='dodge') +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(legend.position="bottom") +
ggtitle("Központiság mutatók") +
#scale_y_continuous(trans = "log2") +
scale_x_discrete(name = "Származás") +
scale_fill_discrete(name = NULL, labels = c("Degree centrality (Népszerűség)",
"Closeness centrality (Befolyás)",
"Betweenness centrality (Alkuerő)",
"Sajátvektor központiság (Státusz)"))
它提供了总共四个变量的并排条形图,根据它是哪个变量来区分颜色。我遇到的麻烦是改变颜色(四种新颜色)。我尝试添加 scale_fill_manual(values = oc.color[1:4]) +
(其中 oc.color
是十六进制向量),但它显示 "Scale for 'fill' is already present. Adding another scale for 'fill', which will replace the existing scale.",并继续使用默认的 ggplot 颜色。
感谢您的帮助。
您可能在 scale_fill_discrete
之前添加了 scale_fill_manual
。这样 scale_fill_discrete
将用默认颜色替换您的颜色。最好和推荐的方法是每个美学只使用一个尺度。试试这个:
library(ggplot2)
oc.color <- c("red", "blue", "green", "pink")
ggplot(df, aes(from, value, fill = variable)) +
geom_bar(stat='identity', position='dodge') +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(legend.position="bottom") +
ggtitle("Központiság mutatók") +
scale_x_discrete(name = "Származás") +
scale_fill_manual(name = NULL, labels = c("Degree centrality (Nepszerűség)",
"Closeness centrality (Befolyás)",
"Betweenness centrality (Alkuerő)",
"Sajátvektor központiság (Státusz)"), values = oc.color[1:4])
oc.color <- c("#999999", "#E69F00", "#56B4E9","#56B0E9");
df %>% ggplot(aes(from, value)) +
geom_bar(stat='identity', position='dodge', aes(fill = variable)) +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(legend.position="bottom") +
ggtitle("Központiság mutatók") +
#scale_y_continuous(trans = "log2") +
scale_x_discrete(name = "Származás") +
scale_fill_discrete(name = NULL, labels = c("Degree centrality (Népszerűség)",
"Closeness centrality (Befolyás)",
"Betweenness centrality (Alkuerő)",
"Sajátvektor központiság (Státusz)")) +
scale_fill_manual(values = oc.color[1:4]);