gpt4 book ai didi

r - 如何仅在 geom_label_repel() 中更改文本颜色而不是线条颜色

转载 作者:行者123 更新时间:2023-12-04 16:12:32 24 4
gpt4 key购买 nike

我正在使用 geom_label_repel(),我正在尝试将标签的文本颜色更改为白色,但将线条保持为黑色。当我尝试将颜色命令放在 aes() 之外时,它会使行和文本变白:
在 aes() 之外使用颜色参数

library(dplyr)
library(ggplot2)
library(ggrepel)

data <- tibble(name = c("Justin", "Corey", "Sibley", "Kate"),
n = c(10, 30, 59, 1),
prop = c(10, 30, 59, 1)) %>%
dplyr::arrange(desc(name)) %>%
dplyr::mutate(text_y = cumsum(prop)-prop/2)

my_colors <- c("#00A3AD", "#FF8200", "#753BBD", "#6CC24A")


ggplot(data, aes(x = 2, y = prop, fill = name)) +
geom_bar(stat = "identity", color = "white") +
coord_polar(theta = "y", start = 0)+
geom_label_repel(aes(y = text_y, label = paste0(n, "\n", prop, "%")), force_pull = 100, nudge_x = 1, color = "white") +
scale_fill_manual(values = my_colors) +
theme_void() +
xlim(.5, 2.5)
enter image description here
但是,如果我把它放在 aes() 中,它就全是……橙色?
在 aes() 中带有颜色参数
library(dplyr)
library(ggplot2)
library(ggrepel)

data <- tibble(name = c("Justin", "Corey", "Sibley", "Kate"),
n = c(10, 30, 59, 1),
prop = c(10, 30, 59, 1)) %>%
dplyr::arrange(desc(name)) %>%
dplyr::mutate(text_y = cumsum(prop)-prop/2)

my_colors <- c("#00A3AD", "#FF8200", "#753BBD", "#6CC24A")

ggplot(data, aes(x = 2, y = prop, fill = name)) +
geom_bar(stat = "identity", color = "white") +
coord_polar(theta = "y", start = 0)+
geom_label_repel(aes(y = text_y, label = paste0(n, "\n", prop, "%"), color = "white"), force_pull = 100, nudge_x = 1) +
scale_fill_manual(values = my_colors) +
theme_void() +
xlim(.5, 2.5)
我想要白色文字,黑色线条,并且没有第二个中出现的“白色”图例。 (此外,在第二个中,它使橙色标签中的文本完全消失,这是不可取的)。
enter image description here

最佳答案

弄清楚了!还有一个说法-- segement.color --设置线条(段)颜色。两者 colorsegment.color应设置在 geom_label_repel() 内功能但在其之外 aes()功能:

library(dplyr)
library(ggplot2)
library(ggrepel)

my_colors <- c("#00A3AD", "#FF8200", "#753BBD", "#6CC24A")

data <- tibble(name = c("Justin", "Corey", "Sibley", "Kate"),
n = c(10, 30, 59, 1),
prop = c(10, 30, 59, 1)) %>%
dplyr::arrange(desc(name)) %>%
dplyr::mutate(text_y = cumsum(prop)-prop/2)


ggplot(data, aes(x = 2, y = prop, fill = name)) +
geom_bar(stat = "identity", color = "white") +
coord_polar(theta = "y", start = 0)+
geom_label_repel(aes(y = text_y, label = paste0(n, "\n", prop, "%")), force_pull = 100, nudge_x = 1,
color="white", segment.color="black") +
scale_fill_manual(values = my_colors) +
theme_void() +
xlim(.5, 2.5)
enter image description here

关于r - 如何仅在 geom_label_repel() 中更改文本颜色而不是线条颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68036507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com