【发布时间】:2014-07-01 09:18:04
【问题描述】:
我花了几个小时查看文档和 StackOverflow,但似乎没有解决方案可以解决我的问题。使用 ggplot 时,我无法在图例中获得正确的文本,即使它在我的数据框中。我尝试了scale_colour_manual、scale_fill_manual 和labels= 的不同值,例如c("T999", "T888")", "cols"。
这是我的代码:
T999 <- runif(10, 100, 200)
T888 <- runif(10, 200, 300)
TY <- runif(10, 20, 30)
df <- data.frame(T999, T888, TY)
ggplot(data = df, aes(x=T999, y=TY, pointtype="T999")) +
geom_point(size = 15, colour = "darkblue") +
geom_point(data = df, aes(x=T888, y=TY), colour = 'red', size = 10 ) +
theme(axis.text.x = element_text(size = 20), axis.title.x =element_text(size = 20), axis.text.y = element_text(size = 20)) +
xlab("Txxx") + ylab("TY [°C]") + labs(title="temperatures", size = 15) +
scale_colour_manual(labels = c("T999", "T888"), values = c("darkblue", "red")) + theme(legend.position="topright")
非常感谢您的帮助!
【问题讨论】:
-
查看this tutorial,找出
ggplot最满意的数据格式(长而不是宽),并感受映射 i> 一个aesthetic 到aes调用中的一个变量,而不是在aes之外设置它。您需要将melt数据转换为长格式,并将aes中的colour(或fill)映射到相关变量。