ggplot2相当于';因子分解或分类';在谷歌的R

ggplot2相当于';因子分解或分类';在谷歌的R,r,ggplot2,google-visualization,googlevis,R,Ggplot2,Google Visualization,Googlevis,由于ggplot准备了静态图表,我们正在将图表转移到带有交互式图表的googleVis。但在分类方面,我们面临着许多问题。让我举个例子来帮助您理解: #dataframe df = data.frame( x = sample(1:100), y = sample(1:100), cat = sample(c('a','b','c'), 100, replace=TRUE) ) ggplot2提供了类似于alpha、颜色、线型、大小等参数,我们可以将这些参数用于如下所示的类别: ggplot(

由于ggplot准备了静态图表,我们正在将图表转移到带有交互式图表的googleVis。但在分类方面,我们面临着许多问题。让我举个例子来帮助您理解:

#dataframe
df = data.frame( x = sample(1:100), y = sample(1:100), cat = sample(c('a','b','c'), 100, replace=TRUE) )
ggplot2提供了类似于
alpha、颜色、线型、大小等参数,我们可以将这些参数用于如下所示的类别:

ggplot(df) + geom_line(aes(x = x, y = y, colour = cat))
不仅是折线图,而且大多数ggplot2图形都提供了基于列值的分类。现在我想在googleVis中做同样的事情,基于value
df$cat
,我想更改参数或对线或图表进行分组

注: 我已经尝试了
dcast
根据category column创建多个列,并将这些列用作Y输入,但这不是我想要做的

有人能帮我吗

如果您需要更多信息,请告诉我。

vrajs5您并不孤单!我们努力解决这个问题。在我们的例子中,我们希望像ggplot一样填写
条形图。这就是解决办法。您需要将链接到变量的特定命名列添加到数据表中,以便
googleVis
进行检索

在我的fill示例中,这些被称为角色,但一旦看到我的语法,就可以将其抽象为注释和其他很酷的功能。谷歌拥有所有这些,但不清楚它是如何应用于互联网的

@mages在此网页上记录了这一点,该网页显示了
演示(googleVis)
中没有的功能:

向GOOGLEVIS图表添加新维度的示例

# in this case
# How do we fill a bar chart showing bars depend on another variable? 
#   We wanted to show C in a different fill to other assets

suppressPackageStartupMessages(library(googleVis))
library(data.table) # You can use data frames if you don't like DT

test.dt  = data.table(px = c("A","B","C"), py = c(1,4,9),
                      "py.style" = c('silver', 'silver', 'gold'))

# Add your modifier to your chart as a new variable e.g. py1.style
test <-gvisBarChart(test.dt, 
                    xvar = "px",
                    yvar = c("py", "py.style"),
                    options = list(legend = 'none'))
plot(test)
#在这种情况下
#如何填写条形图,显示条形图取决于另一个变量?
#我们希望以与其他资产不同的填充方式显示C
SuppressPackageStatupMessages(库(谷歌视讯))
库(data.table)#如果不喜欢DT,可以使用数据帧
test.dt=数据表(px=c(“A”、“B”、“c”),py=c(1,4,9),
“py.style”=c('silver','silver','gold'))
#将修改器作为新变量添加到图表中,例如py1.style

测试我不熟悉R,但在Google可视化API的一般javascript实现中,所有数据系列都是由列定义的,而不是由列中的值定义的。您可能需要将数据拆分为多列才能获得所需的效果。这就是为什么我提出这个问题。。。也许有一种方法可以在R。。。可能正在使用其他软件包?您可以使用@vrajs5创建交互式ggplot图-请查看发布到您的旧问题的解决方案,使用
myvar.style
作为额外的专栏,以从googleVis获得更多信息!