gvisMotionChart:更改默认变量

时间:2016-04-14 03:19:01

标签: r googlevis

我有data.frame df,由四个网站(1到4)组成。从2011年到2014年,每个站点都有四个参数(A到D)的值。我想为site1创建一个动态图表。

library(dplyr)
siteID <- c(rep("site1", 16), rep("site2", 16), rep("site3", 16), rep("site4", 16))
YEAR <-   as.numeric(rep(c("2011", "2012", "2013", "2014"), 16))
parameter <- c(rep("A", 4), rep("B", 4), rep("C", 4), rep("D", 4),
               rep("A", 4), rep("B", 4), rep("C", 4), rep("D", 4),
               rep("A", 4), rep("B", 4), rep("C", 4), rep("D", 4),
               rep("A", 4), rep("B", 4), rep("C", 4), rep("D", 4))
value <- c(seq(1, 4, by=1), seq(10, 40, by=10), seq(12, 18, by=2), seq(5, 20, by=5),
           seq(3, 12, by=3), sample(13:18, 4), sample(15:22, 4), sample(10:18, 4),
           seq(7, 1, by=-2), sample(15:22, 4), sample(15:19, 4), sample(10:20, 4),
           seq(8, 5, by=-1), seq(50, 20, by=-10), seq(16, 10, by=-2), seq(20, 5, by=-5))
df <- data.frame(siteID, YEAR, parameter, value)
df$YEAR <- as.numeric(df$YEAR)

df1 <- df %>%
  dplyr::filter(siteID =="site1")

我使用以下代码为网站1创建了动态图表

library(googleVis)
site1 = gvisMotionChart(data=df1, 
                         idvar="parameter", 
                         timevar="YEAR",
                         chartid="site1")
plot(site1)

工作得很好。结果在这里

enter image description here

但是,默认x axisy axisvalue。我不得不将x axis自己从价值改为YEAR。

我想更改默认值,以便x-axisYEARcolorvarparametersizevarvalue }。我使用此代码

site1_1 = gvisMotionChart(data=df1, 
                         idvar="parameter", 
                         timevar="YEAR",
                         chartid="site1",
                         xvar="YEAR", 
                         yvar="value",
                         colorvar="parameter", 
                         sizevar="value")

plot(site1_1)

它一直显示为加载,但未创建绘图。 任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

我认为以下内容应该让你在那里。剩下的就是适当地设置选项以摆脱逗号等。

df1 <- df %>%
  dplyr::filter(siteID =="site1") %>%
  mutate(Date = YEAR) %>%
  mutate(colorValue = parameter) %>%
  mutate(sizeValue = value)



library(googleVis)
site1 = gvisMotionChart(data=df1, 
                        idvar="parameter", 
                        timevar="YEAR",
                        chartid="site1",
                        xvar = "Date",
                        yvar = "value",
                        colorvar = "colorValue",
                        sizevar = "sizeValue")
plot(site1)