【问题标题】:gvisMotionChart: change the default variablesgvisMotionChart:更改默认变量
【发布时间】:2016-04-14 03:19:00
【问题描述】:

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

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)

效果很好。结果在这里

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

我想更改默认值,以便 x-axis 将变为 YEARcolorvar 将变为 parametersizevar 将变为 value。我是用这段代码做到的

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

plot(site1_1)

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

【问题讨论】:

  • 嗨,在您的 df 中,在每个时间点,您都需要 x 和 y 值。因此以 2011 年为例。您需要参数 A、B、C、D 的 x 和 y 值。您提供的只是 x 值。你能提供额外的信息吗?
  • @user1357015 感谢您的帮助。正如我在问题中提到的,绘图工作正常,但默认轴是 x 轴和 y 轴的值。我不得不将 x 轴更改为时间(年)。有什么办法可以让它默认时间。
  • 不——它工作不正常。事实上,在 x 轴上,您正在绘制“值”,而在 y 轴上,您正在绘制“值”。如果您将“YEAR”绘制为 x 值,您将得到垂直排列的值而不是对角线。
  • @user1357015 谢谢。我通过将 x 值更改为 YEAR 来垂直获取它们,如上图所示。
  • 宾果游戏!那么你现在需要它做什么呢?

标签: r googlevis


【解决方案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)

【讨论】:

  • 还有一点,我尝试添加一个标题 options=list(title = "My gVIS Motion Chart") 但它不会出现在绘图上。任何建议将不胜感激。
  • 动态图表没有标题选项。见这里:developers.google.com/chart/interactive/docs/gallery/… 其他图表类型在配置选项下有标题——不是这个类型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-07
  • 2013-08-03
相关资源
最近更新 更多