Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于R中日期列的彩色散点图_R_Ggplot2_Plot_Colorbar - Fatal编程技术网

基于R中日期列的彩色散点图

基于R中日期列的彩色散点图,r,ggplot2,plot,colorbar,R,Ggplot2,Plot,Colorbar,我有一个数据框,它有三列:Date、X和Y。我想在X和Y之间绘制一个散点图,并根据“Date”列为散点着色。绘图还应显示颜色栏(带有从最小(日期)到最大(日期)的标签) 下面是示例数据帧: df <- structure(list(Date = structure(c(17471, 17472, 17473, 17474, 17475, 17476, 17477, 17478, 17479, 17480), class = "Date"), X = c(0.796174

我有一个数据框,它有三列:Date、X和Y。我想在X和Y之间绘制一个散点图,并根据“Date”列为散点着色。绘图还应显示颜色栏(带有从最小(日期)到最大(日期)的标签)

下面是示例数据帧:

df <- structure(list(Date = structure(c(17471, 17472, 17473, 17474, 17475, 17476, 17477, 17478, 17479, 17480), class = "Date"), X = c(0.796174166775646,  0.848555231972632, 0.683680046726043, 0.686642470840829, 0.720126049914675,  0.627708683319572, 0.592784894803222, 0.49770995584235, 0.92458842974608,  0.776247170913462), Y = c(0.855872728731457, 0.730466555438912,  0.733560880833523, 0.847513809554321, 0.766668352652661, 0.731916270305317, 0.657927669736621, 0.488083725626701, 0.771059482797226, 0.866358366092603 )), row.names = c(NA, 10L), class = "data.frame")
df

图书馆(GG2)
ggplot(df,aes(X,Y))+
几何点(形状=21,笔划=1,aes(填充=日期),颜色=灰色,尺寸=6)+
比例填充梯度(低=“白”,高=“黑”,标签=函数(x)作为日期(x,原点=“1970-01-01”))
我感到惊讶的是,对于日期的灰度渐变,它看起来有多笨重


感谢您提供数据集。您可以添加代码来显示您迄今为止尝试过但失败的内容吗?您使用的是ggplot2还是其他什么?已编辑!我正在使用plot函数,但我也想看看如何使用ggplot2来完成此任务。我们如何更改默认调色板。在我的例子中:约会而不是昏昏欲睡。完美的工人!只需将日期更改为数字值作为df$Date
rbPal <- colorRampPalette(c('red','blue'))
df$Col <- rbPal(10)[as.numeric(cut(df$Date,breaks = 10))]
plot(df$X, df$Y, xlab="X", ylab="Y", xlim=c(0,1), ylim=c(0,1), cex.lab=2, cex.axis=2, cex.main=2, cex.sub=2, pch=20,family = "Times New Roman", col = df$Col)