在vtree中自定义颜色

问题描述 投票:0回答:1

我正在努力弄清楚如何在 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")  
             )  
  )
r colors vtree
1个回答
0
投票

您可以将每个变量所需的颜色向量作为命名列表传递给

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")
      )
)

enter image description here

这是一个蓝色渐变,它实际上只是由

colorRampPalette
创建的 3 种颜色的向量:

vtree(mtcars, "cyl am", rootfillcolor = "yellow",
      specfill = list(
        cyl = colorRampPalette(c("navy", "lightblue"))(3),
        am = c("pink", "brown")
      )
)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.