由于是由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, colour, linetype, size的参数,我们可以将其与如下所示的类别一起使用:
ggplot(df) + geom_line(aes(x = x, y = y, colour = cat))

不仅是折线图,而且大多数ggplot2图都提供基于列值的分类。现在,我想在googleVis中执行同样的操作,基于df$cat值,我希望参数得到更改或折线或图表分组。

注意:
我已经尝试过dcast根据类别列创建多个列,并将这些多个列用作Y输入,但这并不是我想要的。

有人可以帮我吗?

如果您需要更多信息,请与我们联系。

最佳答案

vrajs5你并不孤单!我们在这个问题上苦苦挣扎。在我们的案例中,我们想要对ggplot中的条形图进行fill编码。这是解决方案。您需要将链接到变量的专门命名的列添加到数据表中,以便googleVis提取。

在我的填充示例中,这些称为角色,但是一旦您看到我的语法,就可以将其抽象为注释和其他出色功能。 Google拥有了所有的documented here (check out superheroes example!),但是如何将其应用于r并不明显。

@mages在此网页上记录了此内容,该页面显示的功能不是demo(googleVis):

http://cran.r-project.org/web/packages/googleVis/vignettes/Using_Roles_via_googleVis.html

示例在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)

我们已经在此处确定性地显示了py.style,但您可以对其进行编码以使其取决于您的类别。

秘诀是myvar.googleVis_thing_you,需要将变量myvar链接到googleVis功能。

填充前结果(yvar =“py”)

填充后结果(yvar = c(“py”,“py.style”))

看看法师示例(代码也位于Github上),您将破解“基于列值的分类”问题。

07-26 01:14