如何在 beeswarm (R) 中设置单独的颜色?

How to set Individual colors in beeswarm (R)?

我想在 R 中使用 beeswarm 绘制一些数据,其中每个点的 bg 颜色由我的数据中的一列定义。例如:

head(mydata)

## id   provean color
## 1635 9.428   #fee5d9
## 1092 9.000   #fb6a4a
## 791  8.708   #ffffff
## 1472 7.596   #fcae91
## 228  7.552   #ffffff
## 1004 7.433   #fcae91

color 列有我希望每个点都有的十六进制颜色代码,我尝试这样实现它:

colorByMML <- mydata$color
beeswarm(mydata$provean,pch=21,cex=0.7, bty="n", col="#708090",pwbg=colorByMML)

但是我得到的颜色与预期的不同。

如果我给出整数而不是十六进制代码,我会得到其他颜色。例如,如果我输入“1”而不是白色的十六进制代码(#ffffff),我会得到黑色作为 bg 颜色。简而言之,如何自定义每个点的颜色?

假设 colorByMML 的类型为 "character",您的代码应该可以正常工作。但是,如果 colorByMML 的类型为 "factor",则将使用整数因子级别(连同您的默认调色板)来设置颜色。根据你图中的颜色,我猜这是问题所在。

换句话说,这可能就是您要查找的内容:

colorByMML <- as.character(mydata$color)