使用upper.panel怎么使右三角每个格子是圆圈加相关系数呢,求代码,谢谢
时间: 2024-02-13 15:02:35 浏览: 86
您可以使用ggplot2
中的geom_text()
函数和geom_circle()
函数来实现这个效果。这里是一个示例代码:
library(ggplot2)
library(grid)
# 生成数据
data <- data.frame(x = 1:5, y = 1:5, z = runif(5))
# 创建一个 ggplot 图形对象
p <- ggplot(data, aes(x, y)) +
geom_tile(aes(fill = z), colour = "white") +
scale_fill_gradient(low = "white", high = "blue") +
theme_classic() +
coord_equal()
# 添加右上角的圆圈和文字
p <- p + annotation_custom(
grob = circleGrob(
r = 0.2,
gp = gpar(fill = "white", col = "black", lwd = 1)
),
xmin = 4.5, xmax = 5,
ymin = 4.5, ymax = 5
)
p <- p + annotation_custom(
grob = textGrob(
label = paste0("r = ", round(cor(data$x, data$y), 2)),
gp = gpar(fontsize = 12, fontface = "bold")
),
xmin = 4.5, xmax = 5,
ymin = 4.5, ymax = 5
)
# 显示图形
print(p)
在这个示例中,我们首先创建了一个ggplot
对象,使用geom_tile()
函数绘制了一个热力图。然后,我们使用annotation_custom()
函数添加了一个圆圈和一个文本标签,将它们放置在坐标轴的右上角。最后,我们打印出这个ggplot
对象,显示图形。
相关推荐
















