R 中 Lollipop 图表的 Hack Legend Key
Hack Legend Key for Lollipop Chart in R
我想用 ggplot2
中另一列的元素替换一列的元素
library(tidyverse)
df1 <- read.table(text =
"nbb_RMSE 9 0.2402482
mbb_RMSE 9 0.1023012
cbb_RMSE 8 0.2031448
tmbb_RMSE 4 0.2654746
tcbb_RMSE 9 0.4048711")
colnames(df1) <- c("Methods", "lb", "RMSE")
df1 |>
mutate(colour = fct_reorder(Methods, RMSE)) |>
ggplot(aes(Methods, RMSE, colour = colour)) +
geom_point(size = 4) +
geom_segment(aes(Methods, xend = Methods, yend = RMSE, y = 0)) +
scale_color_manual(values = c("green", "yellowgreen", "yellow", "orange", "red")) +
theme_bw()
我想要的
lb
列应该这样排列:Green
表示最小RMSE
对应lb
列中的9,yellowgreen
表示RMSE
中的嵌套高值对应于 lb
列中的 8,yellow
表示 RMSE
中的嵌套高值对应于 lb
列中的 9,orange
表示RMSE
中的嵌套高值对应lb
列中的4,red
表示RMSE
中的嵌套高值对应[=]中的9 12=]列。
我希望图例上的标签 color
更改为数据框中名为 lb
的列的名称。
这里是
您可以在 scale_color_manual
中使用 name
和 labels
参数
df1 |>
mutate(colour = fct_reorder(Methods, RMSE)) |>
ggplot(aes(Methods, RMSE, colour = colour)) +
geom_point(size = 4) +
geom_segment(aes(Methods, xend = Methods, yend = RMSE, y = 0)) +
scale_color_manual(values = c("green", "yellowgreen", "yellow",
"orange", "red"),
labels = c(9, 8, 9, 9, 4), name = "lb") +
theme_bw(base_size = 16)
我想用 ggplot2
library(tidyverse)
df1 <- read.table(text =
"nbb_RMSE 9 0.2402482
mbb_RMSE 9 0.1023012
cbb_RMSE 8 0.2031448
tmbb_RMSE 4 0.2654746
tcbb_RMSE 9 0.4048711")
colnames(df1) <- c("Methods", "lb", "RMSE")
df1 |>
mutate(colour = fct_reorder(Methods, RMSE)) |>
ggplot(aes(Methods, RMSE, colour = colour)) +
geom_point(size = 4) +
geom_segment(aes(Methods, xend = Methods, yend = RMSE, y = 0)) +
scale_color_manual(values = c("green", "yellowgreen", "yellow", "orange", "red")) +
theme_bw()
我想要的
lb
列应该这样排列:Green
表示最小RMSE
对应lb
列中的9,yellowgreen
表示RMSE
中的嵌套高值对应于 lb
列中的 8,yellow
表示 RMSE
中的嵌套高值对应于 lb
列中的 9,orange
表示RMSE
中的嵌套高值对应lb
列中的4,red
表示RMSE
中的嵌套高值对应[=]中的9 12=]列。
我希望图例上的标签 color
更改为数据框中名为 lb
的列的名称。
这里是
您可以在 scale_color_manual
name
和 labels
参数
df1 |>
mutate(colour = fct_reorder(Methods, RMSE)) |>
ggplot(aes(Methods, RMSE, colour = colour)) +
geom_point(size = 4) +
geom_segment(aes(Methods, xend = Methods, yend = RMSE, y = 0)) +
scale_color_manual(values = c("green", "yellowgreen", "yellow",
"orange", "red"),
labels = c(9, 8, 9, 9, 4), name = "lb") +
theme_bw(base_size = 16)