从一组坐标绘制位置的频率热图

时间:2018-12-19 16:57:25

标签: r ggplot2 heatmap

我有一堆看起来像这样的数据:

  Track X1        X        Y
1 Point  1 147.8333 258.5000
2 Point  2 148.5000 258.8333
3 Point  3 151.1667 260.8333
4 Point  4 154.5000 264.5000
5 Point  5 158.1667 266.5000
6 Point  6 161.5000 269.5000

我想为此绘制一个,因此,位置标记为xy的漂亮图形表示位置坐标,其中gradient color fill表示出现一个特定的点,并带有一个刻度指示器,显示颜色的含义。我正在寻找一种简单的gradient fill,且颜色低而高。

我已经有一段时间了,但是我认为第一步应该是用位置和新的显示频率的列来构建另一个数据集?但是我不是100%知道如何构造它。

到目前为止,我的尝试类似于:

ggplot(data=all_data, aes(x=X, y=Y)) + geom_tile(aes(fill=all_data$X)) + 
  scale_fill_gradient2(low="green", high="blue") + coord_equal()

1 个答案:

答案 0 :(得分:1)

根据Jon Spring的建议,以下代码显示了如下图:

all_data <- read.table(text = "
Track X1        X        Y
1 Point  1 147.8333 258.5000
2 Point  2 148.5000 258.8333
3 Point  3 151.1667 260.8333
4 Point  4 154.5000 264.5000
5 Point  5 158.1667 266.5000
6 Point  6 161.5000 269.5000
", header = T, row.names = NULL)

ggplot(data=all_data, aes(x=X, y=Y)) + geom_bin2d()

enter image description here