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行のプロットが表示されるようにプロットを調整しようとしましたが、年のラベルが一緒に壊されるため、問題が発生します。サイズ変更は私が必要とするすべてのようです。
回避策は次のとおりです。私が推測している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)
私が追加する追加の提案は、これをRMarkdownドキュメント/ R Notebookで実行している場合、図自体も調整が必要な場合があるため、プロット(実際にはhtmlwidget
)は次のようにレンダリングされません。小さめのウィンドウのスクローラー。これは、fig.width
およびfig.height
パラメーターを使用して実行できます。