带有R(ggplot)的填充等高线图 - 温度随时间的深度剖面 -

时间:2016-05-19 15:17:28

标签: r time contour depth temperature

我对R来说比较新,并且有一个约60个时间点的数据集,其中温度测量值介于0.3到18米之间。目的是创建一个轮廓图,最好用ggplot2反映随时间的高分辨率(x =天,y =深度,z =温度)。 我尝试了几种方法:

ggplot + geom_tile

等高线图

ggplot + stat_contour

filled.contour

但其中一些我没有设法工作而其他人没有获得所需的结果(像素化轮廓或只有线条没有填补空白的可能性)。

数据文件: http://www.filedropper.com/budgetcontourf

示例应如何显示: example

这是我到目前为止所取得的成就: 我无法发布超过2个链接。使用下面的代码无论如何都会显示结果。

期待您的建议或解决方案!非常感谢提前!!

PS:在“导入数据集”期间,可能还有一种更好的方法可以解决R重命名列标题的问题(数字被重命名,例如2到X2)。

#                           +++ CONTOUR PLOT +++

#load dataset manually

# load packages
library(ggplot2) 

#Renames the colums 
colnames(budget_contour_F) <- c('depth', '-2',  '-1',   '0',    '1',    '2',
'3',    '5',    '7',    '8',    '9',    '11',   '13',   '15',   '17',   '19',
'21',   '23',   '25',   '27',   '29',   '31',   '33',   '35',   '37',   '39',
'41',   '43',   '45',   '47',   '49',   '51',   '53',   '55',   '57',   '59',
'61',   '63',   '65',   '67',   '69',   '71',   '73',   '75',   '77',   '79',
'81',   '83',   '85',   '87',   '89',   '91',   '93',   '95',   '97',   '99',
'101',  '103')

#Melt data
CPF <- melt(budget_contour_F, id=c("depth"))

#Renames the colums
colnames(CPF) <- c('depth', 'day', 'temp')

#Contour colour only
ggplot(CPF, aes(x = day, y = depth, z = temp)) +
  geom_tile(aes(fill = temp)) + 
  stat_contour() +
  scale_y_reverse(name="depth (m)") +
  theme_bw()

#Contour lines only
contourplot(temp ~ day * depth, data = CPF) 

0 个答案:

没有答案