首页 > 解决方案 > 使用包 plot3D 时直方图被剪切

问题描述

我正在尝试hist3D()使用以下代码从 plot3D 包中绘制一个简单的直方图:

library(tidyverse)
library(plot3D)
data(iris)
iris=as.tibble(iris)

x=c(1,2)
y=x
z=matrix(rnorm(4,sd=0.5,mean=1),ncol=2,nrow=2)

pmat<-hist3D(x,y,
       z,
       border="black",
       axes=TRUE,
       expand=0.4,
       theta=40,phi=30,
       zmin=-1,
       margin=c(10,10),
       mar=c(10, 1, 0, 2),
       ticktype = "detailed",col="green",box=TRUE)

但是直方图在底部被切掉:

在此处输入图像描述

所以,我正在寻找一种方法来扩展画布的宽度或高度hist3D()

标签: rhistogramplot3d

解决方案


您可以在调用par(xpd = NA)之前使用hist3D以允许将整个设备区域用于绘图。这可能没有足够的空间;如果不是,请将边距也设置得非常大。例如,

par(xpd = NA, mar = c(10,10,10,10))
hist3D(x,y,
   z,
   border="black",
   axes=TRUE,
   expand=0.4,
   theta=40,phi=30,
   zmin=-1,
   margin=c(20,20),
   mar=c(10, 1, 0, 2),
   ticktype = "detailed",col="green",box=TRUE)

为我制作这个:

截屏

它非常难看,但对于 3D 直方图来说这是可以预料的 :-)。


推荐阅读