2

在使用 rCharts 中的 nplot 构建散点图时,如何设置点的形状属性?可以通过在输入数据框中提供一个名为“size”的列来设置点的大小,但如果有一个由“square”或“cross”等字符串组成的相应“shape”列,则结果图仍然具有默认的圆形点。R 和 NVD3 的新手,所以我为我的词汇量不足道歉。

4

3 回答 3

1

似乎最新版本的 nvd3 不再像旧版本一样工作。参见例如屏幕截图显示形状,数据有shape:,但实际图表中仅呈现圆形。此外,测试不会产生除圆圈以外的任何东西。我看了一眼源,我找不到在哪里或如何设置形状。如果您知道如何使用 nvd3,我可以轻松地将其转换为 rCharts 示例。

于 2013-09-30T03:02:53.910 回答
1

我没有50的声誉,但我想发表评论。

这个 NVD3 示例(Novus.github) 中的第 18 行显示了它当前是如何完成的。同样,您需要对实时代码(nvd3.org) 做的就是取消注释数据选项卡中的“大小”行。

我尝试在我的 df 中创建一个名为“shape”的列,并使用n1 <- nPlot(x~y, data=df, shape='shape', type='scatterChart'); n1$chart(onlyCircles=FALSE);和其他一些组合。我只花了最后两天使用 rCharts,但取得了一些令人兴奋的进展。我放弃了这一点,但很奇怪这里没有提到这两个例子,所以我想我会提到它们。

于 2014-01-16T07:06:56.853 回答
0

我知道这个问题有点“古老”,但我遇到了同样的问题,我花了一段时间才弄清楚如何改变形状。

我按照此示例中的方法更改大小: nvd3 scatterPlot with rCharts in R: Vary size of points?

这是我的解决方案:

library(rCharts)
df=data.frame(x=rep(0:2,3),y=c(rep(1,3),rep(2,3),rep(3,3)),
group=c(rep("a",3),rep("b",3),rep("c",3)),shape=rep("square",9))

p <- nPlot(y~x , group = 'group',data = df, type = 'scatterChart')

#In order to make it more pleasant to look at
p$chart(xDomain=c(-0.5,2.5))
p$chart(yDomain=c(0,4))
p$chart(sizeRange = c(200,200))

#here the magic
p$chart(scatter.onlyCircles = FALSE)
p$chart(shape = '#! function(d){return d.shape} !#')

p
于 2015-04-19T20:08:12.760 回答