我正在努力弄清楚如何在 vtree R 中自定义颜色。我从这篇文章中找到了下面的答案使用自定义颜色更改渐变 为所有级别定制颜色。但我想自定义某个级别的颜色,同时保留 cyl 的渐变颜色。
library(vtree)
vtree(mtcars, "cyl am", rootfillcolor = "yellow",
specfill = list(
cyl = c("blue", "green", "yellow"),
am = c("pink", "brown")
)
)
以下代码不起作用:
vtree(mtcars, "cyl am", rootfillcolor = "yellow",
specfill = list(
am = c("pink", "brown")
)
)
vtree(mtcars, "cyl am", rootfillcolor = "yellow",
gredient=c(TRUE,FALSE),
specfill = list(
cyl = "blue",
am = c("pink", "brown")
)
)
您可以将每个变量所需的颜色向量作为命名列表传递给
specfill
参数。
向量的长度必须为 1 或与变量的级别数相同。在此示例中,
cyl
有 3 个级别,am
有 2 个级别。
如果您只想提供两种颜色并在它们之间有渐变,您可以使用
colorRampPalette()
生成它。
例如,
cyl
有 3 种不同的颜色:
vtree(mtcars, "cyl am", rootfillcolor = "yellow",
specfill = list(
cyl = c("red", "blue", "green"),
am = c("pink", "brown")
)
)
这是一个蓝色渐变,它实际上只是由
colorRampPalette
创建的 3 种颜色的向量:
vtree(mtcars, "cyl am", rootfillcolor = "yellow",
specfill = list(
cyl = colorRampPalette(c("navy", "lightblue"))(3),
am = c("pink", "brown")
)
)