对于两个不同的热图,ggplot2,Rstudio

时间:2016-01-15 20:55:06

标签: r plot ggplot2 legend heatmap

问题摘要和信息

我有两个大数据集(如矩阵布局,但保留为df-s)有100列和11640行。每行代表每小时的时间,每列代表特定的深度。对于两个数据集(称为UCCO2和RCCO2),时间是相同的但是深度不同(即,不同的特定深度)。 UCCO2的范围是0到12,RCCO2的范围是0到30 请帮我为他们创造一个传奇。我只设法创建具有不同图例的图(注意:我在分离的窗口上创建它们)

呈现数据集

以下是之后 melt()命令的数据摘要。我在commad之后()再次添加日期(date_dates)并且是这里看到的最后一列。

稍后的情节: x轴为:“date_dates” - >每小时测量时间

y轴是:“变量” - >这是深度 从下面的代码中可以看出,Fill是值列。

数据集名称:UCCO2_m& RCCO2_m

summary(UCCO2_m)         

         DATE            variable           value       
     2014-10-26 02:00:00:    200   124    :  11640   Min.   : 1.2    
     2014-06-14 00:00:00:    100   123    :  11640   1st Qu.: 6.8    
     2014-06-14 01:00:00:    100   121    :  11640   Median : 8.4    
     2014-06-14 02:00:00:    100   120    :  11640   Mean   : 8.1    
     2014-06-14 03:00:00:    100   119    :  11640   3rd Qu.: 9.6    
     2014-06-14 04:00:00:    100   118    :  11640   Max.   :12.1    
     (Other)            :1163300   (Other):1094160   NA's   :657399  
       date_dates                 
     Min.   :2014-06-14 00:00:00  
     1st Qu.:2014-10-13 05:45:00  
     Median :2015-02-11 10:30:00  
     Mean   :2015-02-11 10:29:59  
     3rd Qu.:2015-06-12 17:15:00  
     Max.   :2015-10-11 23:00:00 


> summary(RCCO2_m)
                  DATE            variable           value       
 2014-10-26 02:00:00:    200   60     :  11640   Min.   : 1.14   
 2014-06-14 00:00:00:    100   59     :  11640   1st Qu.:10.82   
 2014-06-14 01:00:00:    100   59.1   :  11640   Median :14.51   
 2014-06-14 02:00:00:    100   58     :  11640   Mean   :13.98   
 2014-06-14 03:00:00:    100   58.1   :  11640   3rd Qu.:17.37   
 2014-06-14 04:00:00:    100   57     :  11640   Max.   :27.64   
 (Other)            :1163300   (Other):1094160   NA's   :221208  
   date_dates                 
 Min.   :2014-06-14 00:00:00  
 1st Qu.:2014-10-13 05:45:00  
 Median :2015-02-11 10:30:00  
 Mean   :2015-02-11 10:29:59  
 3rd Qu.:2015-06-12 17:15:00  
 Max.   :2015-10-11 23:00:00  

df-s的外观如何

矩阵在命令“melt()”

之前如何看起来像的示例

df before melt, rows: 11640, columns: 100 if excluding date columns (note that in R date are only ONE column df在融化之前,行:11640,列:100,如果排除日期列(注意在R日期只有一列

df 融化后的一个例子

df after, where <code>DATE</code> was used as the factor to melt with, <code>variable</code> is depth (the column names), <code>value</code> is the value at that time and depth, <code>date_dates</code> is the column I add after and are used as x-axis df之后,其中DATE被用作融化的因素,variable是深度(列名称),value是该时间和深度的值,{{ 1}}是我之后添加的列,用作x轴

方法 - Rcode

代码说明: 我正在使用ggplot2来创建热图。融化后,我添加另一个日期列的步骤(用于x轴值(不知道是否有必要,但x轴值看起来很奇怪))。然后我使用ggplot和其他几个命令来使它更整洁:

date_dates

我的结果

这就是我的情节看起来如何,任何人都可以看到,颜色方案代表两个图中的不同值: The colours used in both are the same but Notice the scale is different; Frustrating!

Notice that the colour are the same BUT the legend is different.

如果有人知道快速回答的问题那么只是一个“括号”的问题

(请注意我的y轴很糟糕!如果有人知道一个简单的方法,可能只是显示每一个值,我也会非常欣赏,但我知道这可能是另一个问题.Y轴现在使用的值是因子,我试图将它们更改为整数/值,但是在图中到处都是奇怪的水平灰色条带)

1 个答案:

答案 0 :(得分:0)

您可以明确设置比例的数据范围,例如:

... + scale_fill_gradientn(...,limits=range(UCCO2_m$value,RCCO2_m$value)) + ...