修复stat_summary_hex

时间:2018-07-30 10:17:02

标签: r ggplot2

我正在将数据绘制在从两个不同来源获得的地图上。我想并排绘制这些图形(使用facet_wrap),以便可以轻松地将源文件相互比较,并且我正在使用ggplot函数stat_summary_hex创建六边形。

如果我的数据框df包含四个变量lonlatscoresource,我的代码可能看起来像这样:

world_map <- map_data('world')

ggplot(df) + aes(x = lon, y = lat, z = score) +
  coord_cartesian(xlim = c(-5, 10), ylim = c(45, 60)) +
  stat_summary_hex(binwidth = c(.7, .5), fun = median) +
  geom_map(dat = world_map, map = world_map, inherit.aes = FALSE,
           mapping = aes(map_id = region), fill = 'white', color = 'black') +
  facet_wrap( ~ source, ncol = 2) +
  theme(legend.position = 'top') + labs(x = '', y = '')

我遇到的问题是,分别为左右图生成了bin,并且由于数据具有不同的范围,因此bin不会对齐。这使得比较绘图变得更加困难。有什么办法可以迫使垃圾箱对齐吗?

我知道在geom_histogram中可以设置centerboundary参数。 stat_summary_hex中没有这样的参数,所以也许我可以摆弄数据范围之类的东西?我正在使用coord_cartesian,所以也许可以在我绘制的区域之外添加一个“假”数据点以将垃圾箱强制到某个位置?

我将共享一个数据示例,但无法共享我实际使用的数据。我可以创建一些虚假数据,但我认为(希望)这个问题可以理解。

这是情节:

plot

(不要太分散颜色-正常的汇总功能将返回连续的比例尺,但是我正在使用自定义的比例尺来返回离散的比例尺。)

0 个答案:

没有答案