3

私はいくつかの を動的に作成していgvisScatterChartます。series と color 属性を使用して、各線の色を定義したいと思います。色を事前に定義できる注文や修正番号のようなものはありません。だから私は自分の色に平行な属性の配列を作成し、それをseries=myColors.

問題は、gVis が次のような文字列を想定していることです。

   series="[{color: 'black', visibleInLegend: false}]", 

関数 gVisを使用して文字列を作成するとすぐに、文字列pasteが受け入れられなくなり、空白のページがチャートとして表示されます。(「 \ を使用して」をマークする場合でも)

これはバグですか、それとも何か間違っていますか?

4

1 に答える 1

2

これはバグではありません。ヘルプに記載されているように、JSON 文字列が必要なため、JSON 文字列を作成する必要があります。

を使用しRJSONIOて、JSONオプションを構築できますtoJSON

library(googleVis)
library(RJSONIO)
myColor <- 'grey'   ## my dynamic color, here I fix but you can read it ,e.g
                    ## from a chart config file or whatever you want
isLegend <- TRUE    ## a boolean value 

myseriesOptions <- toJSON(list(list(color=myColor),list(visibleInLegend=isLegend)))

例えば

Scatter2 <- gvisScatterChart(women, 
                             options=list(legend="none",
                                          lineWidth=2, pointSize=0,
                                          title="Women", vAxis="{title:'weight (lbs)'}",
                                          hAxis="{title:'height (in)'}", 
                                          width=300, height=300,
                                          series = myseriesOptions    ))

 plot(Scatter2)

PS :fromJSON構築する文字列の R 形式を取得するために使用できます。

fromJSON("{title:'mytitle'}")        ## the ouptut is a list 
$itl
NULL

cat(toJSON(list(title='mytitle')))   ## I construct my list and I use toJSON
                                     ## I get my origin json form

{
 "title": "mytitle" 
}
于 2012-12-29T10:38:04.810 に答える