回到ggplot2寻找一些进化的散点图后,我觉得我迷路了:
我有两个数据集df1
和df2
(最后一个是单点)。
>df1
DATE XOV DAX
1 16479 2.1880142 -1.8203765
2 16482 2.7930760 -2.1501989
3 16483 2.8998516 -1.9903619
4 16484 1.8676874 -1.8704841
5 16485 1.5473606 -1.8007140
6 16486 1.3338094 -1.4620117
7 16489 0.7643395 -1.4512291
8 16490 0.4084208 -1.2044965
9 16491 0.2660533 -1.2577755
10 16492 -0.5169678 -0.9438099
>df2
DATE XOV DAX
1 13514 1.620395 -1.927569
我想要获得(1)是一个带有df1
的散点图,根据渐变颜色取决于日期,(2)用更大的尺寸在其上添加红色的单点。
我可以获得(1):
library(ggplot2)
ggplot() +
geom_point(data=df1, aes(x=DAX, y=XOV, colour=DATE)) +
theme(legend.position="none") +
scale_colour_gradient(low="#A9C8F3", high="#0C2389")
,并提供:
当我想添加(2)时,我会使用:
library(ggplot2)
ggplot() +
geom_point(data=df1, aes(x=DAX, y=XOV, colour=DATE)) +
theme(legend.position="none") + scale_colour_gradient(low="#A9C8F3", high="#0C2389") +
geom_point(data=df2, aes(x=DAX, y=XOV, color="red"))
然后得到错误:
$ Discrete value supplied to continuous scale
我很抱歉,如果它是重复的,已经找到了解决方案,但我没有得到错误,尽管从ggplot()
中拉出每个数据帧...
答案 0 :(得分:1)
您应该在aes之外指定颜色参数:
ggplot() +
geom_point(data=df1, aes(x=DAX, y=XOV, colour=DATE)) +
theme(legend.position="none") +
scale_colour_gradient(low="#A9C8F3", high="#0C2389") +
geom_point(data=df2, aes(x=DAX, y=XOV), colour="red",size=5)
可以找到行为的解释here:
当在aes中指定时,美学被映射到a的值 数据中的变量。由于数据和数据之间存在映射 可见的审美,有一个传说,显示了映射。 在aes电话之外,审美只是设定为特定值。