0

我正在尝试为给定的数据集生成小提琴图。数据从 0 到 100 不等。但小提琴图超过 100 并低于 0。

如何将其限制在 0 到 100 之间?

使用的代码:

library(ggplot2)

input_data <- read.csv("C:/Temp/Recall.csv")
input_data
precision_in_percentage <- input_data$ResultValue



# Basic violin plot
p <- ggplot(input_data, aes(x='TRAssociation', y=precision_in_percentage)) +
  geom_violin(trim=FALSE) + geom_violin(trim=FALSE, fill='#A4A4A4', color="darkred")+
  geom_boxplot(width=0.05) + theme_minimal()

p

小提琴剧情: 在此处输入图像描述

4

2 回答 2

2

检查文档geom_violin(),看来您应该删除trim=False规范。默认情况下,ggplot2 设置trim = True.

来自 ggplot2文档

trim:如果为 TRUE(默认),将小提琴的尾部修剪到数据的范围内。如果为 FALSE,则不要修剪尾部。

请注意,如果您喜欢 geom_violin() 的形状并且只想限制 y 轴边界,则可以通过添加+ ylim(0, 100)到绘图函数调用来实现。

另外,请注意,有一个箱线图工具可以更好地处理通过该stat_summary()功能获得的小提琴图。尝试删除您的调用geom_boxplot()并改为使用它(您可能想要使用shapeandsize参数:

+ stat_summary(fun.y=median, geom="point", fill="white", shape=21, size=2.5)

于 2017-07-14T17:55:26.603 回答
1

可以在此处找到该功能的文档。看起来 trim=TRUE 可能用于此。

如果为 TRUE(默认),则将小提琴的尾部修剪到数据的范围内。如果为 FALSE,则不要修剪尾部。

希望这可以帮助!

于 2017-07-14T17:54:21.510 回答