簡體   English   中英

R繪制疊加熱圖

[英]R plotly overlay heatmaps

我有兩個矩陣A和B,我想分別繪制兩個熱圖,並將它們覆蓋

library(plotly)
A = matrix(c(1:8, rep(0, 8)), ncol = 4)
B = matrix(c(rep(0, 8), 1:8), ncol = 4)
PA <- plot_ly(z = A, type = "heatmap", colors = colorRamp(c("white", "green")))
PB <- plot_ly(z = B, type = "heatmap", colors = colorRamp(c("white", "red")))

當我嘗試覆蓋它們時,它們確實被誇張了,但是第二個熱圖完全掩蓋了第一個。

PA %>% add_trace(z = B, type = "heatmap")

在此處輸入圖片說明

我可以更改不透明度以“查看”兩個熱圖

PA %>% add_trace(z = B, opacity = 0.5, type = "heatmap")

在此處輸入圖片說明

但這確實不是很漂亮,我不能為每個熱圖設置不同的顏色。

是否有任何優雅的方法可以覆蓋它們,如以下示例所示? 非常感謝。

p = plot_ly(x = rnorm(500), opacity = 0.6, type = "histogram") %>%
add_trace(x = rnorm(500)+1) %>%
layout(barmode="overlay")

在此處輸入圖片說明

我不確定是否可以,但是也許您可以欺騙它。 您可以嘗試:

ay <- list(
  title = "",
  zeroline = FALSE,
  showline = FALSE,
  showticklabels = FALSE,
  showgrid = FALSE
)

PB <- PB %>% layout(yaxis = ay, xaxis = list(range = c(1.5, 3.5), dtick = 1))
PA <- PA %>% layout(yaxis = list(dtick = 1), xaxis = list(range = c(-0.5, 1.5), dtick = 1))
subplot(PA, PB, nrows = 1, shareX = TRUE, shareY = FALSE) 

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM