我有一个 ggplot hexbin 图表,我想用 ggplotly 显示。但是,当我使用 ggplotly 函数时,以前为 gplot 图表固定的纵横比丢失了。
最小工作示例:
library(ggplot2)
library(plotly)
library(RColorBrewer)
set.seed(11)
df<-data.frame(xvar=rnorm(1000,0,4),yvar=rnorm(1000))
#nicer colours
palette <- colorRampPalette(rev(brewer.pal(11,'Spectral')))
colours<-palette(32)
p1<-ggplot(df,aes(x=xvar,y=yvar))+ coord_fixed(ratio=1)+
stat_binhex(bins=50)+scale_fill_gradientn(colours=colours)
p1
ggplotly(p1)
Run Code Online (Sandbox Code Playgroud)
我用下面的代码近似了这个比例,但由于图例的原因,这个比例仍然略有错误。
ratioaxes<-(max(df$yvar)-min(df$yvar))/(max(df$xvar)-min(df$xvar))
ggplotly(p1,height=ratioaxes*500,width=500)
Run Code Online (Sandbox Code Playgroud)
有什么办法可以保持这个比例吗?
提前致谢!