[R散点图十六进制颜色(R scatter plot with hexadecimal colors

2019-09-16 15:55发布

我有3列中,X值,Y值的CSV文件,及其相应的十六进制(#RRGGBB)值。 我一直在试图创建根据十六进制值的彩色气泡的内部分散/气泡图。

symbols(year, logtrans, circles=size, inches=0.05, bg=intel2$HexLogClock)

intel2 $ HexLogClock包含十六进制值。

对不起再次为noob问题,任何帮助表示赞赏。

Answer 1:

我觉得你的麻烦可能在于不是一个字符的十六进制值。 确保他们是第一次。 见下面例子:

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)


Answer 2:

我想象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))


Answer 3:

我觉得我的误解,如果是的话让我知道,但你可以只提供十六进制值来col中:

barplot(1:3, axes=FALSE, col=c("#330000", "#FFFFCC", "660000"))


文章来源: R scatter plot with hexadecimal colors