我想将散点图绘制到热图上。我用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))
热图:
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')
现在我想将散点图放在热图的顶部,以便我可以看到这些点如何随磷浓度而变化。关于如何做到这一点的任何想法?
来自@phalteman的解决方案奏效了。这就是我得到的。我无法调整点的大小(设置为1或100时看起来相同),但这正是我正在寻找的。 p>
答案 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"))