我正在尝试使用命名字符向量来保存自定义调色板,所以我可以说,例如调色板['red'],而不是到处重复“#dc322f”。
但是,我似乎无法使用该向量的元素作为参数par()
(尽管它可以在其他地方使用)。
这是一个例子。它将创建一个带有绿点的图形,但 par() 调用失败并且背景为白色。请注意,我可以使用调用中的调色板向量设置参数plot()
:
> palette <- c('#002b36','#dc322f','#859900')
> names(palette) <- c('black','red','green')
> par(bg=palette['red'])
Warning message:
In par(bg = palette["red"]) : "bg.red" is not a graphical parameter
> plot(1:10,1:10,col=palette['green'])
> # (White graph with green dots appears)
但是,当我使用命名的数字向量时,它可以工作:
> palette <- 1:3
> names(palette) <- c('black','red','green')
> par(bg=palette['red'])
> # (no error here -- it worked.)
> plot(1:10,1:10,col=palette['green'])
> # (Red graph with green dots appears)
我对 R 相当陌生,似乎我可能遗漏了一些基本的东西。知道这里发生了什么吗?