r - 如何将 geom_raster 图的对角线设置为 R 中的不同度量?
问题描述
我创建了一个图(并设置对角线 = 0),如下所示:
但我想要实现的是这样的(我在 powerpoint 中制作的):
所以,基本上我想知道的是是否可以在一个地块上进行 2 个单独的测量,如果可以,我将如何尝试实现这一点?
有什么建议么?
谢谢
解决方案
在同一个图中组合不同类型的数据通常是一个坏主意。如果你要这样做,最好是它们在视觉上是不同的。因此,这是获得所需内容的一种方法。
首先,一些示例数据:
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")
结果是:
推荐阅读
- algorithm - 有没有办法比较两个频谱图?
- sql - 如何在 SQLALCHEMY 中获取复杂的 Oracle UserDefinedType 作为存储过程的输出
- javascript - PHP - 简单的 ajax 向服务器发送查询
- azure-data-lake - 如何在 U-SQL 中将 byte[] 保存为字符串
- php - Laravel 和内存缓存
- django - Django 中的标签功能
- sql - 我可以将多个字符串传递给 Dynamic SQL 中的一个参数吗?
- visual-studio - Visual Studio 文件打开器不显示所有文件夹
- java - 将 BasicDBList 转换为 Java Arraylist
- javascript - 我不知道为什么会这样......我觉得一切都在告诉我它不应该是 Javascript