从一组坐标绘制位置的频率热图
Plot frequency heatmap of positions from set of coordinates
我有一堆数据如下所示:
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
我想绘制一个 heatmap,所以一个漂亮的图表标记为 x
和 y
作为位置坐标,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()
正如 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()
我有一堆数据如下所示:
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
我想绘制一个 heatmap,所以一个漂亮的图表标记为 x
和 y
作为位置坐标,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()
正如 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()