【问题标题】:R boxplot title outlierR箱线图标题异常值
【发布时间】:2016-06-21 15:34:13
【问题描述】:

我尝试制作一个好的箱线图。正如您在图片中看到的,要获得清晰的可视化效果,有必要“放大”数据的最大部分。 我用 ylim 选项做到了这一点。

如下图所示,我创建了一个主标题,异常值正在通过标题,这就是问题所在。

我想我可以通过删除原始数据中的异常值来解决问题,但我想知道是否可以将“箱线图”减少 0.10,所以箱线图留在图中。

到目前为止我的代码:

 boxplot (genergy$Measurevalue, ylim= c(0,0.1), ylab = "Measured Value", 
     main="Boxplot Measured Value", col = "red")

更新: @Twitch_City:我不认为使用另一个 ylim 是解决方案。例如:

boxplot (genergy$Measurevalue, ylim= c(0,0.50), ylab = "Measured Value", 
     main="Boxplot Measured Value", col = "red")

@akash87,当然。数据为:

【问题讨论】:

  • 你能附上一些数据吗?
  • 我不确定为什么异常值显示为一条线?它们应该是点...如果它们太多以至于点显示为一条线,则应将 ylim 设置为至少 0.12 以在图上为它们留出空间。仅仅从数据集中删除它们并不是一个合适的解决方案。
  • 我更新了我的问题(并回答了你的问题),希望我们能解决这个问题。

标签: r visualization title boxplot


【解决方案1】:

您可以使用outline=FALSE 来避免完全绘制异常值。然后,您可以单独提供有关异常值的数据(例如,使用 fivenum 或其他摘要)。

这是一个使用从 df=3 的卡方分布生成的随机数据的示例;正如您的数据似乎那样,数据非常偏斜。保存箱线图统计信息以获取有关异常值的信息。

N=500000
dat <- rchisq(N, 3)
dat.box <- boxplot(dat, cex=.5, outline=F, las=1)
cat(fivenum(dat.box$out))

另一种方法是绘制核密度曲线并添加与所需分位数相对应的线。如下:

plot(density(dat), las=1)
abline(v=median(dat), col='black')
abline(v=quantile(dat, .25), lty=3, col='red')
abline(v=quantile(dat, .75), lty=3, col='red')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 2013-02-17
    • 2017-03-21
    • 2021-01-14
    • 2012-06-23
    • 2020-08-27
    相关资源
    最近更新 更多