我有ggplot
geom_text()
:
geom_text(y = 4, aes(label = text))
变量文本具有以下格式:
number1-number2
我想知道是否可以为number1定义颜色,为number2定义另一种颜色(例如:红色和绿色)
谢谢!
答案 0 :(得分:1)
一种方法是,例如,您将数字1和数字2的标签文本作为数据框中的单独列:
ggplot(data, aes(x,y)) + geom_text(label=data[,3], color="red", vjust=0) + geom_text(label=data[,4], color="blue", vjust=1)
答案 1 :(得分: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的范围。