Как сохранить 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")
)
# 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")
)
Я не могу добавить тег 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
)