在热图

时间:2018-05-04 21:04:19

标签: r plot ggplot2 plotly

我想将散点图绘制到热图上。我用ggplot制作了每种类型的图。

散点图:

lambir_t <- ggplot(l_tree, aes(x=xcoord, 
[![enter image description here][1]][1]y=ycoord))+geom_point(col='red')+xlim(c(0, 1040))+ylim(c(0, 500))

enter image description here

热图:

lambir_p <- ggplot(dfo, aes(x,y,
fillz))+geom_tile(color='white')+scale_fill_gradient(low='white', 
high='blue')+labs(x='x', y='y', title='Lambir Hills', 
fill='Phosphorus')

enter image description here

现在我想将散点图放在热图的顶部,以便我可以看到这些点如何随磷浓度而变化。关于如何做到这一点的任何想法?

修改 enter image description here

来自@phalteman的解决方案奏效了。这就是我得到的。我无法调整点的大小(设置为1或100时看起来相同),但这正是我正在寻找的。

2 个答案:

答案 0 :(得分:0)

您可以使用不同的数据集为图表添加多个图层。像往常一样添加点,但指定数据参数。如果没有数据,很难知道,但是这样的事情可能会对你有所帮助:

ggplot(dfo, aes(x,y,fillz)) + 
  geom_tile(color='white') + 
  scale_fill_gradient(low='white', high='blue') + 
  labs(x='x', y='y', title='Lambir Hills', fill='Phosphorus') +
  geom_point(data=l_tree, aes(x=xcoord, [![enter image description here][1]][1], y=ycoord)), col='red')

答案 1 :(得分:0)

我发现使用相同的数据集,但在每层中都明确指定数据集,可以轻松在图块顶部绘制点。

颜色按预期工作。 奇怪的是,当为所有尺寸设置不同的值时,尺寸效果更好

ggplot(data = mydata, aes(x = baseofheatmap, y = heightofheatmap)) + 
  geom_tile(data = mydata, 
            aes(fill = valuetoheatmap)) +
  geom_point(data = mydata, 
             aes(x = valuetopoint, 
                 y = heightofheatmap, 
                 size = valuetopoint, 
                 color = "red"))