2013-09-27 36 views
2

如何在從rCharts使用nplot構建scatterChart時設置點的形狀屬性?點大小可以通過在名爲「size」的輸入數據框中提供一個列來設置,但是如果存在由「square」或「cross」等字符串組成的相應「形狀」列,則生成的圖形仍具有默認圓點。 R和NVD3新手,所以我對我缺乏詞彙表感到抱歉。當使用nplot/rCharts製作NVD3散點圖時訪問點的形狀屬性

回答

1

它看起來最新版本的nvd3不再像舊版本一樣工作。請參閱examplescreenshot顯示形狀,數據有shape:,但實際圖表中只顯示圓圈。此外,tests不產生任何其他任何東西除了圓圈。我瞥了一眼源頭,我無法找到在哪裏或如何設置形狀。如果你知道如何處理nvd3,我可以很容易地轉化爲rCharts的例子。

+0

我已經看到了NVD3深藏的說法叫做'onlyCircles'其設置爲默認爲TRUE。因此,像'n1 $ chart(onlyCircles = FALSE)'做的事情應該允許呈現形狀。 – Ramnath

1

我沒有50的聲望,但我想評論。

this NVD3 example(Novus.github)中的第18行顯示了它目前是如何完成的。同樣,您只需要使用live code(nvd3.org)就可以取消註釋數據選項卡中的「大小」行。

我試圖在我的df命名'形狀',並使用n1 <- nPlot(x~y, data=df, shape='shape', type='scatterChart'); n1$chart(onlyCircles=FALSE);和其他一些組合。我只花了最近兩天與rCharts合作,但取得了令人振奮的進展。我放棄了這一點,但發現好奇這兩個例子在這裏沒有提到,所以我想我會提及它們。

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