我正在尝试为给定的数据集生成小提琴图。数据从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
答案 0 :(得分:2)
检查geom_violin()
的文档,看起来您应该删除trim=False
规范。默认情况下,ggplot2设置trim = True
。
来自ggplot2 docs:
trim:如果为TRUE(默认值),则将小提琴的尾部修剪到该范围 的数据。如果 没错,不要修剪尾巴。
请注意,如果您喜欢geom_violin()的形状并且只想限制y轴边界,则可以通过将+ ylim(0, 100)
添加到绘图函数调用来实现。
另外,请注意,有一个boxplot工具可以通过stat_summary()
功能提供更好的小提琴图。尝试将您的通话移至geom_boxplot()
,然后使用此功能(您可能希望使用shape
和size
参数:
+ stat_summary(fun.y=median, geom="point", fill="white", shape=21, size=2.5)
答案 1 :(得分:1)
Documentation。看起来可能会使用trim = TRUE。
如果为TRUE(默认值),请将小提琴的尾部修剪到范围内 数据。如果为FALSE,请不要修剪尾巴。
希望这有帮助!