首页 > 解决方案 > 如何将 geom_raster 图的对角线设置为 R 中的不同度量?

问题描述

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

情节前 1

但我想要实现的是这样的(我在 powerpoint 中制作的):

情节前 2

所以,基本上我想知道的是是否可以在一个地块上进行 2 个单独的测量,如果可以,我将如何尝试实现这一点?

有什么建议么?

谢谢

标签: rggplot2

解决方案


在同一个图中组合不同类型的数据通常是一个坏主意。如果你要这样做,最好是它们在视觉上是不同的。因此,这是获得所需内容的一种方法。

首先,一些示例数据:

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")

结果是:

在此处输入图像描述


推荐阅读