小提琴情节不按预期工作

时间:2017-07-14 17:51:19

标签: r ggplot2 violin-plot

我正在尝试为给定的数据集生成小提琴图。数据从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

小提琴情节: enter image description here

2 个答案:

答案 0 :(得分:2)

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

来自ggplot2 docs

  

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

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

另外,请注意,有一个boxplot工具可以通过stat_summary()功能提供更好的小提琴图。尝试将您的通话移至geom_boxplot(),然后使用此功能(您可能希望使用shapesize参数:

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

答案 1 :(得分:1)

可以在此处找到该功能的

Documentation。看起来可能会使用trim = TRUE。

  

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

希望这有帮助!

相关问题