web-dev-qa-db-ja.com

プロットサイズ変更Rggplotly

PlotlyRパッケージの使用に問題があります。私はplotlyに非常に慣れていませんが、ggplotのような構文を使用できるのが好きだったので、それを機能させようとしています。

データポイントにカーソルを合わせると、そのレコードの詳細を確認できるファセットプロットを作成しました。プロットには非常に満足していますが、プロット全体の高さと幅を調整したいので、各プロットのy軸がそれほど短くならないようにサイズを変更したいと思います。

現状では、デフォルトのサイズを上書きする方法がわかりません。見つけたすべての例でggplotly()ではなくplot_ly()を使用しているため、髪の毛を抜いています。必要がない限り、サイズを調整するためだけにプロットを再構築したくありません。

私が現在実行しているコードは本当に単純です:

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

2行のプロットが表示されるようにプロットを調整しようとしましたが、年のラベルが一緒に壊されるため、問題が発生します。サイズ変更は私が必要とするすべてのようです。

10
Daina

回避策は次のとおりです。私が推測している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
```
_

そのように見えます:

enter image description here

enter image description here

8
royr2

plot_ly()と同様に、ggplotly()にはheightwidth引数があります。_?ggplotly_を参照してください。

一般的には、常にheight/widthを設定することをお勧めします。そうしない場合、プロットを他の人と共有する場合、コンテキストによってサイズが異なる可能性があります。

これはggplotly()にとって特に重要です。印刷時に、物のサイズを変換するために、height/widthを想定する必要があります。これらを指定しない場合、Rグラフィックデバイスのサイズが使用され、サイズ変更の動作がRグラフィックデバイスから得られるものと完全に一致することを常に保証できるとは限りません。

5
Carson

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)

私が追加する追加の提案は、これをRMarkdownドキュメント/ R Notebookで実行している場合、図自体も調整が必要な場合があるため、プロット(実際にはhtmlwidget)は次のようにレンダリングされません。小さめのウィンドウのスクローラー。これは、fig.widthおよびfig.heightパラメーターを使用して実行できます。

enter image description here

2
onlyphantom