我是 R 新手,最近使用 ggplot2 生成了這個氣泡熱圖。我想在我的圖形頂部添加彩色刻度。我在 x 軸上有 7 種不同的顏色,想在圖表頂部和標簽下方添加一組與文本匹配的彩色方塊。謝謝你,感謝任何幫助。請查看資料鏈接。

(x軸上有7種不同的顏色模塊)
uj5u.com熱心網友回復:
在彩色標簽下方添加一些彩色方塊的一種選擇是通過附加geom_text層。因為label我使用帶有 UTF-8 代碼的實心方塊"\u25A0"。
使用一些虛假的隨機資料來模仿你的真實資料:
library(ggplot2)
ggplot(df, aes(x = Var2, y = Var1))
geom_tile(fill = "white", color = "gray")
geom_point(aes(color = cor, size = log.P))
labs(color = "Correlation")
scale_size_continuous(
range = c(1, 12), name = "P value",
guide = guide_legend(override.aes = list(colour = "grey")), breaks = bb, labels = labels
)
scale_x_discrete(position = "top", limits = x)
geom_text(aes(label = cor), color = "black", size = 4, vjust = 2.5)
# Add square ticks
geom_text(data = data.frame(x = x, y = 7.5), aes(x = x, y = y), color = x, label = "\u25A0", size = 6, vjust = 0)
scale_color_gradient2(low = "blue", mid = "white", high = "red")
theme_minimal()
theme(
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.text.x = element_text(size = 15, angle = 40, hjust = 0.1, vjust = 0.1, color = x),
axis.text.y = element_text(size = 15),
legend.text = element_text(size = 15),
legend.title = element_text(size = 15),
legend.key.height = unit(0.7, "cm"),
panel.grid.major.x = element_blank()
)

資料
set.seed(123)
x <- c("Blue", "Magenta", "Yellow", "Brown", "Pink", "Red", "Grey")
df <- data.frame(
Var2 = rep(x, 7),
Var1 = rep(1:7, each = 7),
cor = round(runif(49, -1, 1), 2),
log.P = runif(49, 0, 10)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/406993.html
標籤:
