如何在R中将geom_raster图的对角线设置为其他度量?

时间:2019-10-22 18:44:37

标签: r ggplot2

我创建了一个如下图(并设置对角线= 0):

Plot ex 1

但是我要实现的目标是这样的(我在Powerpoint中完成):

Plot ex 2

所以,基本上,我想知道的是,是否可以在一个图上进行两次单独的测量,如果可以,我将如何尝试实现这一目标?

有什么建议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

在同一图中将不同类型的数据组合在一起通常是一个坏主意。如果要这样做,最好是在视觉上与众不同。因此,这是一种获得所需东西的方法。

首先,提供一些示例数据:

temp_data <-
  tibble(
    A = paste0("x", 1:5)
    , B = paste0("x", 1:5)
  ) %>%
  complete(A, B) %>%
  mutate(interaction = runif(n(), 0, 10)
         , Other = runif(n(), 0, 100))

然后是该图,请注意,我正在使用两种不同的几何形状并进行过滤,以仅显示我想要的每种几何形状(例如,如果将辅助度量存储在其他位置,也可以从完全独立的数据框中进行此操作)。

ggplot() +
  geom_raster(
    aes(x = A
        , y = B
        , fill = interaction)
    , temp_data %>%
      filter(A != B)
  ) +
  geom_point(
    aes(x = A
        , y = B
        , color = Other)
    , temp_data %>%
      filter(A == B)
    , size = 5
  ) +
  scale_fill_distiller(palette = "Blues") +
  scale_color_distiller(palette = "Reds")

结果:

enter image description here