Как сохранить colorBy фиксированным для каждого класса в диаграммах для canvasxpress Scatter3D?

Как бы я указал фиксированный colorBy, чтобы класс был одинаковым на разных графиках? Например, если у меня есть две диаграммы на странице, и я хочу, чтобы сетоа красный, версикол синий и вирджиника - зеленый, как бы я это исправил заранее? У меня есть несколько диаграмм, поэтому класс должен быть одного цвета на каждой диаграмме.

# setosa red / versicolor blue
library(canvasXpress)
y=read.table("cX-irist-dat.txt", header=TRUE, sep="\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
z=read.table("cX-irist-var.txt", header=TRUE, sep= "\t", quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)

fn <- data.frame(cbind(y, Species = z), stringsAsFactors=FALSE)
fn1 <- fn[1:90,]     # first dataset
fn2 <- fn[91:150,]   # second dataset shares 1 class with first


x1 <- fn1[,1:3]
x2 <- subset(fn1,select="Species")

canvasXpress(
  data=x1,
  varAnnot=x2,
  axisTickScaleFontFactor=0.5,
  axisTitleScaleFontFactor=0.5,
  colorBy="Species",
  graphType="Scatter3D",
  title="Iris Data Set",
  xAxis=list("Sepal.Length"),
  yAxis=list("Sepal.Width"),
  zAxis=list("Petal.Length")
)

R canvasxpress ирис красный / синий цвет по классу

# versicolor red should be blue / virginica blue should be green
x3 <- fn2[,1:3]
x4 <- subset(fn2,select="Species")

canvasXpress(
  data=x3,
  varAnnot=x4,
  axisTickScaleFontFactor=0.5,
  axisTitleScaleFontFactor=0.5,
  colorBy="Species",
  graphType="Scatter3D",
  title="Iris Data Set",
  xAxis=list("Sepal.Length"),
  yAxis=list("Sepal.Width"),
  zAxis=list("Petal.Length")
)

R canvasxpress также красный / синий цвет по классу для разных этикеток

Я не могу добавить тег canvasxpress, но, вероятно, его следует добавить - огромная библиотека, спасибо!

1 ответ

Решение

Просто добавьте параметр colorKey в вашу конфигурацию следующим образом:

colorKey = list("Species"=list("setosa"="gold","versicolor"="silver","virginica"="red"))

а затем позвоните:

canvasXpress(
  data=x3,
  varAnnot=x4,
  axisTickScaleFontFactor=0.5,
  axisTitleScaleFontFactor=0.5,
  colorBy="Species",
  graphType="Scatter3D",
  title="Iris Data Set",
  xAxis=list("Sepal.Length"),
  yAxis=list("Sepal.Width"),
  zAxis=list("Petal.Length"),
  colorKey=colorKey
)
Другие вопросы по тегам