我有3列中,X值,Y值的CSV文件,及其相应的十六进制(#RRGGBB)值。 我一直在试图创建根据十六进制值的彩色气泡的内部分散/气泡图。
symbols(year, logtrans, circles=size, inches=0.05, bg=intel2$HexLogClock)
intel2 $ HexLogClock包含十六进制值。
对不起再次为noob问题,任何帮助表示赞赏。
我有3列中,X值,Y值的CSV文件,及其相应的十六进制(#RRGGBB)值。 我一直在试图创建根据十六进制值的彩色气泡的内部分散/气泡图。
symbols(year, logtrans, circles=size, inches=0.05, bg=intel2$HexLogClock)
intel2 $ HexLogClock包含十六进制值。
对不起再次为noob问题,任何帮助表示赞赏。
我觉得你的麻烦可能在于不是一个字符的十六进制值。 确保他们是第一次。 见下面例子:
year <- 1:5
logtrans <- log(year)
size <- rep(15,5)
intel2 <- data.frame(HexLogClock=c("#330000", "#FFFFCC", "#660000", "#FF0000", "#00FF00"),stringsAsFactors=FALSE)
symbols(year, logtrans, circles=size, inches=0.05, bg=intel2$HexLogClock)
注意stringsAsFactors=FALSE
代码,您可以指定read.csv
等进口方法,以确保您的字符数据不会转换为一个因素。
您可以使用您的数据做到这一点:
intel2$HexLogClock <- as.character(intel2$HexLogClock)
我想象intel2$HexLogClock
存储为一个factor
。 以证实这一class(intel2$HexLogClock)
在这种情况下,因子的每一级由一个整数(它是基于因子水平的第一出现的顺序分配)表示,所以你的第一HexLogClock
颜色会变黑(1 =黑),则红色,然后绿,蓝,青色,等等。
为了解决这个问题,你需要转换intel2$HexLogClock
的特征向量,所以:
intel2$HexLogClock <- as.character(intel2$HexLogClock)
之后,您的命令应按照您的预期。
或者:
symbols(year, logtrans, circles=size, inches=0.05,
bg=as.character(intel2$HexLogClock))
我觉得我的误解,如果是的话让我知道,但你可以只提供十六进制值来col
中:
barplot(1:3, axes=FALSE, col=c("#330000", "#FFFFCC", "660000"))