サンプルデータの使用:
_library(tidyverse)
library(plotly)
myplot <- diamonds %>% ggplot(aes(clarity, price)) +
geom_boxplot() +
facet_wrap(~ clarity, ncol = 8, scales = "free", strip.position = "bottom") +
theme(axis.ticks.x = element_blank(),
axis.text.x = element_blank(),
axis.title.x = element_blank())
ggplotly(myplot)
_
次のようなものを返します:
内側のファセットが最初と最後に比べてひどくスケーリングされており、余分なパディングがたくさんある場合。私はこれらの質問から解決策を見つけようとしました:
numberがファセットの場合、ggplotlyは正しく機能しません
R:facet_wrapがShinyアプリのggplotlyで正しくレンダリングされない
試行錯誤の結果、panel.spacing.x = unit(-0.5, "line")
でtheme()
を使用しましたが、余分なパディングがなくなったため、少し見栄えがよくなりましたが、内部のファセットはまだかなり小さくなっています。
また、余計な質問ですが重要ではありませんが、ストリップラベルはggplotly()
呼び出しで一番上にあります。進行中の問題のようです ここ 、誰かがハックな回避策を持っていますか?
編集:実際のデータセットでは、スケールがまったく異なるため、ファセットごとにy軸ラベルが必要です。そのため、例ではそれらを保持し、_facet_wrap
_が必要なのはそのためです。説明のための私の実際のデータセットのスクリーンショット:
選択したプロットで苦労している場合は、別のプロットをまとめて検討すると役立つことがあります。それはすべて、視覚化したいものに依存します。ボックスプロットが機能することもあれば、ヒストグラムが機能することもあり、密度が機能することもあります。これは、密度プロットが多くのパラメーターのデータ分布をすばやく理解する方法の例です。
library(tidyverse)
library(plotly)
myplot <- diamonds %>% ggplot(aes(price, colour = clarity)) +
geom_density(aes(fill = clarity), alpha = 0.25) +
theme(axis.ticks.x = element_blank(),
axis.text.x = element_blank(),
axis.title.x = element_blank())