这是我的第一篇文章,所以(i)我希望不会违反太多规则,(ii)需要将示例图形存储在外部。
我想要可视化不规则网格的时间序列数据,其中显示的参数也是地理度量(如纬度或水深)的函数。包含日期(date)、地理参数水深(dep)和感兴趣的参数盐度(sal)的示例数据文件以及使用 ggplot2
生成的初步散点图存储在我们的
密码:timeseries
ggplot
绘图的R代码如下:
# Load required packages
library(ggplot2)
library(data.table)
library(colorRamps)
library(scales)
# Import spatial timeseries data
df <- data.table(read.csv("timeseries_example.csv"))
df$date <- as.POSIXct(strptime(df$date, format="%m/%d/%Y", tz="GMT"))
# Scatterplot with color representing the z parameter
Fig <-
ggplot(data=df, aes(date, dep, col=Sal))+
geom_point()+
scale_y_reverse()+
scale_colour_gradientn(colours = matlab.like2(7), oob=squish)
tiff("./example_timeseries_R_ggplot.tiff", width = 200, height = 100,
units = 'mm', res = 300, compression = 'lzw')
Fig
dev.off()
由于数据在空间和时间上不规则分布,使用ggplot的
geom_tile()
函数进行绘图需要插值。免费软件Ocean Data View(ODV)可以进行这种插值操作,我希望能够用R复现存储在我们owncloud中的ODV图形(链接如上)。
由于这个问题类似于先前解决的问题,我尝试使用
akima
包将参数sal插值到更精细的日期和深度网格上。然而,由于x参数是POSIXct对象,这并没有起作用。是否有人有解决方法?
as.numeric
将 POSIXct 对象转换为数字,是否可以帮助你的插值? - www