我使用以下内容生成上面的热图:
heat_map <- ggplot(melt_p4, aes(Var1, Var2)) +
geom_tile(aes(fill = value), color = "white") +
labs(title = "ST - LT Correlation Across Factor") +
scale_fill_gradient(low = "red", high = "green") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
geom_text(aes(label = round(value, 1)), size = 2.2)
其中melt_p4是
melt_p4 <- melt(p4)
和p4是
p4 <- correlations_3months - correlations_history
,其中
correlations_3months <- round(cor(Raw_Index_3months_xts_Returns[-1,]),2)
correlations_history <- round(cor(Raw_Index_History_xts_Returns[-1,]),2)
热图基本上是一个数据帧,它从短期相关数据帧中减去长期相关数据帧。因此,我想知道是否有一个可以与热图一起使用的参数,以便只显示下三角形(在所有0的对角线下方)。否则,我会在热图的上半部分和下半部分获得镜像。这可能吗?
也希望我已经为这个问题提供了足够的代码。
答案 0 :(得分:0)
如果p4
是矩阵,您可以将upper.tri
用作:
p4[upper.tri(p4)] <- NA
melt_p4 <- melt(p4)
melt_p4 <- melt_p4[!is.na(melt_p4$value),]
colnames(melt_p4) <- c("Var1", "Var2", "value")
ggplot(melt_p4, aes(Var1, Var2)) +
geom_tile(aes(fill = value), color = "white") +
labs(title = "ST - LT Correlation Across Factor") +
scale_fill_gradient(low = "red", high = "green") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
geom_text(aes(label = round(value, 1)), size = 2.2) +
theme_bw() +
scale_x_discrete(expand=c(0,0)) +
scale_y_discrete(expand=c(0,0))
set.seed(1)
p4 <- matrix(runif(16, 0, 1), nrow = 4, ncol = 4)
row.names(p4) <- c("A", "B", "C", "D")
colnames(p4) <- c("A", "B", "C", "D")