我花了几个小时查看文档和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")
这是上述代码的图形输出:
非常感谢您的帮助!
ggplot
最喜欢的数据格式(长格式,而非宽格式),并了解在aes
调用中将aes
thetic映射到变量与在aes
之外进行设置之间的区别。你需要将数据转换为长格式,然后在aes
中将colour
(或fill
)映射到相关变量。 - Henrik