我的df看起来像这样:
Product Day Month Total
Web Server, Applicatiion Server, Database Server, Middle Tier Tue 2015-01-01 10
Web Server, Application Server, Database Server, Middle Tier Wed 2015-01-01 6
Web Server, Application Server, Database Server, Middle Tier Wed 2015-02-01 6
我需要在ggplot2中创建一个热图,我需要在其中插入产品名称作为geom_text。
到目前为止,我有这个:
ggplot(cal, aes(x=Month, y=Day, fill=Total)) +
geom_tile() +
scale_fill_gradient2(high="red",mid="green",low="yellow",
na.value="white", midpoint=mean(cal$Total, na.rm=T))+scale_x_date(labels = date_format("%b-%Y"), breaks = date_breaks("month"))+
geom_text(aes(label=Product))
由于有多个产品名称以逗号分隔,因此当我执行geom_text(aes(label = Product))时,文本会相互堆叠。
是否可以将每个产品名称放在不同的行上?
答案 0 :(得分:8)
只需将"\n"
添加到“产品”标签中,无论您需要换行符:
library(ggplot2)
df <- data.frame(
label=c("bla \n foo", "first line \n second line"),
x = c(1, 2), y =c(1,2))
ggplot(df, aes(x=x, y=y, label=label)) + geom_text()