一次在R多个图中的dygraph

一次在R多个图中的dygraph

本文介绍了一次在R多个图中的dygraph的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 dygraph 一次绘制多个图(它们不必在第一步中同步)

基础 R 示例:

温度 <- ts(频率 = 12, start = c(1980, 1),数据 = c(7.0, 6.9, 9.5, 14.5, 18.2, 21.5,25.2、26.5、23.3、18.3、13.9、9.6))降雨 <- ts(频率 = 12, 开始 = c(1980, 1),数据 = c(49.9, 71.5, 106.4, 129.2, 144.0, 176.0,135.6、148.5、216.4、194.1、95.6、54.4))par(mfrow = c(2, 1))图(温度)情节(降雨)

使用 dygraph 这种方法不起作用

require(dygraphs)par(mfrow = c(2, 1))dygraph(温度)dygraph(降雨)

我知道有可能显示第二个轴等.但也许有人知道同时显示两个图的答案

解决方案

要在同一个 RStudio 窗口中绘制多个 dygraphs,您必须首先创建一个 dygraphs 对象列表,然后使用包 htmltools 渲染 dygraphs 列表.RStudio 的 Yihui Xie 在这里给出了答案:

I want to plot multiple plots at once using dygraph (they do not have to be synchronized in the first step)

Base R-example:

temperature <- ts(frequency = 12, start = c(1980, 1),
       data = c(7.0, 6.9, 9.5, 14.5, 18.2, 21.5,
       25.2, 26.5, 23.3, 18.3, 13.9, 9.6))
rainfall <- ts(frequency = 12, start = c(1980, 1),
       data = c(49.9, 71.5, 106.4, 129.2, 144.0, 176.0,
       135.6, 148.5, 216.4, 194.1, 95.6, 54.4))

par(mfrow = c(2, 1))
plot(temperature)
plot(rainfall)

With dygraph this approach does not work

require(dygraphs)
par(mfrow = c(2, 1))
dygraph(temperature)
dygraph(rainfall)

I know there's the possibility to display second axis etc. But maybe someone knows an answer to displaying both plots at once

解决方案

To plot multiple dygraphs in the same RStudio window you must first create a list of dygraphs objects, and then render the dygraphs list using package htmltools. Yihui Xie from RStudio provided the answer here:Yihui Xie answer (but without grouping).
I answered a similar question here: my answer.

Here is working R code that produces grouped (synchronized) dygraphs plots:

# create the time series
temperature <- ts(frequency = 12, start = c(1980, 1),
              data = c(7.0, 6.9, 9.5, 14.5, 18.2, 21.5,
                       25.2, 26.5, 23.3, 18.3, 13.9, 9.6))
rainfall <- ts(frequency = 12, start = c(1980, 1),
           data = c(49.9, 71.5, 106.4, 129.2, 144.0, 176.0,
                    135.6, 148.5, 216.4, 194.1, 95.6, 54.4))

# create a list of dygraphs objects
library(dygraphs)
library(htmltools)
dy_graph <- list(
  dygraphs::dygraph(temperature, group="temp_rain", main="temperature"),
  dygraphs::dygraph(rainfall, group="temp_rain", main="rainfall")
)  # end list

# render the dygraphs objects using htmltools
htmltools::browsable(htmltools::tagList(dy_graph))

The above R code produces the following grouped (synchronized) dygraphs plots:

这篇关于一次在R多个图中的dygraph的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 20:33