我最近开始使用R并获得了一个包含地理数据的数据集(sample
)。它包含经度,纬度和称为Tdiff的填充变量。我想绘制一个代表Tdiff值的热图,而不是简单的点数。
我正在使用ggplot
并最终使用以下代码。它会告诉我正确的传奇,但它显示了一个简单的情节。
ggplot(data = sample, aes(x = lon, y =lat)) +
geom_hex(aes(fill = Tdiff), stat = 'identity') +
scale_fill_gradientn(colours = c('lightblue', 'yellow', 'red')) +
xlab(label = 'longitude') +
ylab(label = 'latitute') +
coord_equal()
我发现如果我省略stat
参数,六边形将会在图中显示,但它们不会被渐变填充。
有谁知道如何解决这个问题?
以下是我的数据的str
输出和dropbox中数据集的链接:
str(sample)
'data.frame': 100 obs. of 3 variables:
$ lon : num -90.3 -90.3 -90.3 -90.3 -90.3 ...
$ lat : num -1.39 -1.41 -1.42 -1.43 -1.43 ...
$ Tdiff: int 0 1341 457 426 335 1 395 122 335 975 ...
https://www.dropbox.com/s/ce6gju5ill8ncif/sample.txt?dl=0
非常感谢你!