Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据RStudio窗口大小和打印方法更改打印外观_R - Fatal编程技术网

根据RStudio窗口大小和打印方法更改打印外观

根据RStudio窗口大小和打印方法更改打印外观,r,R,我试图使用vioplot包在R中绘制分布图;我的图由点的散点图组成,并在散点图顶部绘制小提琴图(表示这些点的“箱子”) 但是,绘制数据的不同方法会导致绘图中的特征略有不同。如果使用循环绘制所有小提琴图,小提琴图尾部将向下延伸至最低点,但如果单独绘制,小提琴图尾部将不会到达异常值。此外,调整打印窗口的大小(然后重新打印)也会更改小提琴打印尾部的显示方式 因为我得到了这些不同的图,我想知道如何判断哪个图是数据的正确表示,以及如何产生一致的结果。我在vioplot中使用了“range”和“coef”参

我试图使用vioplot包在R中绘制分布图;我的图由点的散点图组成,并在散点图顶部绘制小提琴图(表示这些点的“箱子”)

但是,绘制数据的不同方法会导致绘图中的特征略有不同。如果使用循环绘制所有小提琴图,小提琴图尾部将向下延伸至最低点,但如果单独绘制,小提琴图尾部将不会到达异常值。此外,调整打印窗口的大小(然后重新打印)也会更改小提琴打印尾部的显示方式

因为我得到了这些不同的图,我想知道如何判断哪个图是数据的正确表示,以及如何产生一致的结果。我在vioplot中使用了“range”和“coef”参数,以使绘图更加一致,但这并不奏效


谢谢

也许我错了,但我认为小提琴本身并没有那么明确,只是一种易于理解的数据表示形式。另一方面,箱线图(与小提琴内部的vioplot一起绘制)更为重要,因为它的条形图告诉您第50、25和75个百分位(尽管vioplot中的第5个百分位出于某种原因是一个白点),胡须取决于您如何绘制,但在vioplot的情况下,我认为它是第95和第5个百分位

如果您想要更高的可定制性,请使用ggplot:

library(reshape2) #for melt()
library(ggplot2)
uniform<-runif(200,-4,4)
normal<-rnorm(200,0,3)
df <- data.frame(x=normal, y=uniform) %>% melt()

ggplot(df, aes(x=variable, y=value)) +
  geom_violin() +
  geom_boxplot()

谢谢你的回答。我发现ggplot更易于使用,并且在绘制小提琴图时更加一致——它也比vioplot()函数更易于定制。非常感谢。
library(ggbeeswarm)

ggplot(df, aes(x=variable, y=value)) +
  geom_violin() +
  geom_boxplot(outlier.alpha = 0) +
  geom_beeswarm()