调整大小 R ggplotly
Resize plotly R ggplotly
我在使用 plotly R 包时遇到了一些问题。我对 plotly 很陌生,但我喜欢我可以使用类似 ggplot 的语法,所以我正在努力让它发挥作用。
我创建了一个多面图,您可以将鼠标悬停在数据点上并查看有关该记录的详细信息。我对情节非常满意,但我想调整它的大小,使每个情节的 y 轴不那么短,因为我想调整整个情节的高度和宽度。
照原样,我无法弄清楚如何覆盖默认大小并且我正在拔头发,因为我能找到的所有示例都使用 plot_ly() 而不是 ggplotly()。除非我需要,否则我宁愿不重建情节只是为了调整大小。
我现在运行的代码非常简单:
plot <- ggplot(data = counts_country, aes(x = Year, y = Count, color = Region, text = paste("country:", Country))) +
geom_point(size= 2, alpha = (1/2)) +
facet_wrap(~ Region, ncol = 1)
(gg_plot <- ggplotly(plot))
你可以在这里看到我在做什么:
http://rpubs.com/dbouquin/180894
我尝试调整绘图以显示两行绘图,但仍然遇到问题,因为年份标签被弄碎了。调整大小似乎是我所需要的。
这是一个解决方法。似乎在我猜你需要的 R-Markdown 文档中工作?它仍然保留 ggplot2
语法,但使用 plotly_build()
而不是 ggplotly()
---
output: html_document
---
### Using ggplotly()
```{r, warning = F, message = F}
library(plotly)
library(dplyr)
gg <- mtcars %>%
ggplot(aes(wt, mpg, color = gear)) +
geom_point() +
facet_wrap(~hp)
ggplotly(gg)
```
### Using plotly_build()
```{r}
ggp_build <- plotly_build(gg)
ggp_build$layout$height = 800
ggp_build$layout$width = 600
ggp_build
```
看起来是这样的:
就像 plot_ly()
一样,ggplotly()
有一个 height
和一个 width
参数,参见 ?ggplotly
。
一般来说,最好总是设置 height
/width
。如果您不这样做,并且与其他人分享您的情节,则大小可能会因上下文而异。
这对 ggplotly()
尤为重要。在打印时,为了转换事物的大小,它必须假定 height
/width
。如果您不指定这些,它将使用您的 R 图形设备的大小,我们不能始终保证调整大小行为与您从 R 图形设备获得的完全一致。
我建议你更新到最新版本的plotly。
查看您使用的是哪个版本:packageVersion("plotly")
然后您可以将 width
和 height
参数添加到 ggplotly()
函数调用中。
el <- as.data.frame(economics_long[,1:3])
econp <- ggplot(el, aes(date, value, group=variable)) +
geom_line()+
facet_grid(variable ~ ., scale = "free_y")+
labs(title="US Economic time series")
ggplotly(econp, height = 350, width=600)
我要补充的一个额外建议是,如果你在 R Markdown 文档/R Notebook 中 运行 这个,图形本身可能也需要一些调整,所以你的情节(这实际上是一个 htmlwidget
) 不会在尺寸过小的 window 中使用滚动条呈现。这可以通过 fig.width
和 fig.height
参数来完成:
我在使用 plotly R 包时遇到了一些问题。我对 plotly 很陌生,但我喜欢我可以使用类似 ggplot 的语法,所以我正在努力让它发挥作用。
我创建了一个多面图,您可以将鼠标悬停在数据点上并查看有关该记录的详细信息。我对情节非常满意,但我想调整它的大小,使每个情节的 y 轴不那么短,因为我想调整整个情节的高度和宽度。
照原样,我无法弄清楚如何覆盖默认大小并且我正在拔头发,因为我能找到的所有示例都使用 plot_ly() 而不是 ggplotly()。除非我需要,否则我宁愿不重建情节只是为了调整大小。
我现在运行的代码非常简单:
plot <- ggplot(data = counts_country, aes(x = Year, y = Count, color = Region, text = paste("country:", Country))) +
geom_point(size= 2, alpha = (1/2)) +
facet_wrap(~ Region, ncol = 1)
(gg_plot <- ggplotly(plot))
你可以在这里看到我在做什么: http://rpubs.com/dbouquin/180894
我尝试调整绘图以显示两行绘图,但仍然遇到问题,因为年份标签被弄碎了。调整大小似乎是我所需要的。
这是一个解决方法。似乎在我猜你需要的 R-Markdown 文档中工作?它仍然保留 ggplot2
语法,但使用 plotly_build()
而不是 ggplotly()
---
output: html_document
---
### Using ggplotly()
```{r, warning = F, message = F}
library(plotly)
library(dplyr)
gg <- mtcars %>%
ggplot(aes(wt, mpg, color = gear)) +
geom_point() +
facet_wrap(~hp)
ggplotly(gg)
```
### Using plotly_build()
```{r}
ggp_build <- plotly_build(gg)
ggp_build$layout$height = 800
ggp_build$layout$width = 600
ggp_build
```
看起来是这样的:
就像 plot_ly()
一样,ggplotly()
有一个 height
和一个 width
参数,参见 ?ggplotly
。
一般来说,最好总是设置 height
/width
。如果您不这样做,并且与其他人分享您的情节,则大小可能会因上下文而异。
这对 ggplotly()
尤为重要。在打印时,为了转换事物的大小,它必须假定 height
/width
。如果您不指定这些,它将使用您的 R 图形设备的大小,我们不能始终保证调整大小行为与您从 R 图形设备获得的完全一致。
我建议你更新到最新版本的plotly。
查看您使用的是哪个版本:packageVersion("plotly")
然后您可以将 width
和 height
参数添加到 ggplotly()
函数调用中。
el <- as.data.frame(economics_long[,1:3])
econp <- ggplot(el, aes(date, value, group=variable)) +
geom_line()+
facet_grid(variable ~ ., scale = "free_y")+
labs(title="US Economic time series")
ggplotly(econp, height = 350, width=600)
我要补充的一个额外建议是,如果你在 R Markdown 文档/R Notebook 中 运行 这个,图形本身可能也需要一些调整,所以你的情节(这实际上是一个 htmlwidget
) 不会在尺寸过小的 window 中使用滚动条呈现。这可以通过 fig.width
和 fig.height
参数来完成: