我有一個看起來像的資料集
df <- data.frame(
name = LETTERS[seq(from = 1, to = 10)],
var1 = sample(1:20, 10),
var2 = sample(5:25, 10),
var3 = sample(10:30, 10),
var4 = sample(15:35, 10),
var5 = sample(20:40, 10)
)
如何通過 ggplot 中的值呈現填充單位的原始資料?就像 Excel 的“條件格式”功能可以做什么?

我猜這里涉及 geom_segment,而我的列是一組變數(它們在“真實”資料集中具有有意義的名稱)而不是數值,我的行名(實際上是第一列)也是如此。所以我完全迷失了如何設定 x、xend、y、yend 等并使其保持原樣。
感謝您的幫助。
uj5u.com熱心網友回復:
geom_tile您可以通過首先將資料轉換為長格式來實作您想要的結果,例如tidyr::pivot_longer:
set.seed(123)
library(ggplot2)
library(tidyr)
df_long <- df |>
pivot_longer(-name, names_to = "var")
ggplot(df_long, aes(x = var, y = name, fill = value))
geom_tile()
geom_text(aes(label = value))
scale_fill_gradient(low = "#F7FCF5", high = "#005A32")

uj5u.com熱心網友回復:
library(data.table)
ggplot(melt(setDT(df), id.var="name"),aes(variable, name, fill=value))
geom_bin2d()
geom_text(aes(label=value))
scale_fill_gradient(low = "lightgreen", high = "darkgreen")
scale_x_discrete(position = "top")
scale_y_discrete(limits=rev)
labs(x="", y="")
theme(legend.position="none")

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471609.html
上一篇:按R中的特定組重新排序熱圖
