我有ggplot
一个geom_text()
:
geom_text(y = 4, aes(label = text))
变量文本具有以下格式:
number1-number2
我想知道是否可以为 number1 定义一种颜色,为 number2 定义另一种颜色(例如:红色和绿色)
谢谢!
一种方法是,例如,如果您将 number1 和 number2 的标签文本作为数据框中的单独列:
ggplot(data, aes(x,y)) + geom_text(label=data[,3], color="red", vjust=0) + geom_text(label=data[,4], color="blue", vjust=1)
您也可以尝试annotate
:
# data for plot
df <- data.frame(x = 1:5, y = 1:5)
# data for annotation
no1 <- "number1"
no2 <- "number1"
x_annot <- 4
y_annot <- 5
dodge <- 0.3
ggplot(data = df, aes(x = x, y = y)) +
geom_point() +
annotate(geom = "text", x = c(x_annot - dodge, x_annot, x_annot + dodge), y = y_annot,
label = c(no1, "-", no2),
col = c("red", "black", "green")) +
theme_classic()
我在调用之外定义了标签和位置annotate
,这可能更容易更动态地生成这些变量,例如,如果“number1”实际上可以从原始数据集计算,或者位置基于 x 和 y 的范围。