我一直在用ggvis摆弄并遇到这个问题,我不能使用十六进制值来表示常规R图的颜色。这是ggvis的正常行为还是我错过了什么?
library(ggvis)
# create data frame
df <- data.frame(var1=1:10,var2=5:14,var3=factor(c(rep("A",5),rep("B",5))))
# code without custom colours
df %>%
ggvis(x = ~var1, y = ~var2,fill = ~var3) %>%
layer_points(size := 30,fillOpacity := 0.5)
#code with custom colours as text
df %>%
ggvis(x = ~var1, y = ~var2,fill = ~var3) %>%
layer_points(size := 30,fillOpacity := 0.5) %>%
scale_nominal("fill",range=c("red","green"))
# code with custom colours as hexadecimal values
df %>%
ggvis(x = ~var1, y = ~var2,fill = ~var3) %>%
layer_points(size := 30,fillOpacity := 0.5) %>%
scale_nominal("fill",range=c("#0000FFFF","#FF3300FF"))
答案 0 :(得分:2)
您使用的8个字符代码最后包含2个额外字符,正如您所提到的,控制透明度。虽然这些可以在基数R中被识别,但ggvis
期望传统的十六进制代码,即具有6个字符的代码。要获取所需的十六进制代码,只需省略当前颜色代码的最后两个字符即可。透明度通过传递给ggvis
函数族的参数单独控制。