【问题标题】:How to keep colorBy fixed for each class across charts for canvasxpress Scatter3D?如何在canvasxpress Scatter3D的图表中为每个类保持固定的colorBy?
【发布时间】:2018-02-09 22:18:10
【问题描述】:

我将如何指定一个固定的 colorBy 以便类在图表中是相同的?例如,如果我在一个页面上有两个图表,并且我想要 setosa red、versicolor blue 和 virginica 到绿色,我将如何提前解决这个问题?我有多个图表,因此每个图表中的类应该是相同的颜色。

# 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,但可能应该添加 - 很棒的库,谢谢!

【问题讨论】:

  • 看看this post 将分组变量与特定颜色匹配是否对您有帮助。
  • 我尝试添加一列 HEX 代码,但我遇到了同样的问题...我仍然不知道如何将 canvasxpress colorBy 参数设置为多个图表具有相同的颜色... . 换句话说,给 colorBy 参数一个颜色/值。

标签: r htmlwidgets


【解决方案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
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 2017-09-06
    相关资源
    最近更新 更多