我做了一个ggplot
library(ggplot2)
library(ggplotly)
f1 <- diamonds |> group_by(cut,clarity,color) |> count() |>
group_by(cut) |> mutate(N=sum(n)) |>
ggplot() +
aes(
x = cut,
y = n,
fill = cut
) +
geom_col() +
theme(legend.position = "none")+
coord_flip()+
facet_wrap(vars(clarity))
f1
我想转换为ggplotly
对象
ggplotly(f1)%>%
layout(legend=list(font = list(size = 8)),
xaxis = list(titlefont = list(size = 8), tickfont = list(size = 8)),
yaxis = list(titlefont = list(size = 8), tickfont = list(size = 8)))
但是,文本的大小仅在第1个子图中更改。我想将大小应用于所有子图:
问题是我把它放在一个函数中,所以面的数量各不相同,所以这篇文章没有帮助:R ggplotly with facet_wrap : axis tick size not changing for all plots
1条答案
按热度按时间oalqel3c1#
正如在参考文章中的答案中已经指出的那样,你必须单独设置每个轴的样式,即与
ggplot2
相反,plotly
中每个子图或小平面具有其自己的轴。因此,xaxis
和yaxis
将仅对分面面板的第一行或第一列有影响。出于这个原因,恕我直言,更简单的方法是使用
theme
选项直接在ggplot2
中设置轴的样式: