标签: boxplot

使用matplotlib将点分散添加到箱线图

我在这篇文章中看到了这个精彩的箱形图(图2).

一个精彩的盒子图

正如您所看到的,这是一个箱线图,其上叠加了黑点的散布:x索引黑点(按随机顺序),y是感兴趣的变量.我想用Matplotlib做类似的事情,但我不知道从哪里开始.到目前为止,我在网上发现的箱形图并不那么酷,看起来像这样:

通常的箱形图

matplotlib的文档:http: //matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.boxplot

如何着色箱形图:https: //github.com/jbmouret/matplotlib_for_papers#colored-boxes

python matplotlib boxplot

13
推荐指数
3
解决办法
2万
查看次数

更改箱线图中的异常值规则

我在R中构建了一些箱形图并且有几个异常值.我知道设置异常值限制的默认条件是:

  • Q3 + 1.5*IQR
  • Q1 - 1.5*IQR

但是,我希望将异常值归类为超出边界的值:

  • Q3 + 3*IQR
  • Q1 - 3*IQR

可以在R中设置吗?

r boxplot

12
推荐指数
2
解决办法
2万
查看次数

我可以在ggplot2中获得boxplot凹槽吗?

是的,我知道它已经存在,我也发现Hadley在谷歌团体的答案中说明了ggplot2箱形图还没有缺口.所以我的问题是双重的:这已经改变了(已经有一个本地的凹口实现),如果没有,那么可以做些什么.

我的意思是我不需要缺口光学元件,代表一些阴影区域的置信区间,它适合放置在盒子图上的另一层中,看起来也不错.

还添加了一个屏幕截图,因为我听说没有图形,图形问题永远不会完整 在此输入图像描述

r ggplot2 boxplot

12
推荐指数
1
解决办法
4840
查看次数

R:使用数据框中的列绘制多个箱形图

我想为数据框中的每个不相关列绘制一个单独的框图.我认为我boxplot.matrixsfsmsic包中走上了正确的轨道,但它似乎也是如此boxplot(as.matrix(plotdata),就是在共享的箱形图中绘制所有内容,并在轴上使用共享比例.我想(比方说)5个单独的情节.

我可以手工做到这样:

par(mfrow=c(2,2))
boxplot(data$var1
boxplot(data$var2)
boxplot(data$var3)
boxplot(data$var4)
Run Code Online (Sandbox Code Playgroud)

但必须有一种方法来使用数据框列?

编辑:我使用迭代,看到我的答案.

r boxplot

12
推荐指数
3
解决办法
6万
查看次数

从R中使用ggplot2制作的多个箱图中完全删除异常值,并以展开格式显示箱图

我在这里 [在.txt文件中] 有一些数据,我读入数据帧df,

df <- read.table("data.txt", header=T,sep="\t")
Run Code Online (Sandbox Code Playgroud)

我使用以下代码删除列中的负值x(因为我只需要正值)df,

yp <- subset(df, x>0)
Run Code Online (Sandbox Code Playgroud)

现在我想在同一层中绘制多个箱形图.我首先融化数据框df,结果图包含几个异常值,如下所示.

# Melting data frame df    
df_mlt <-melt(df, id=names(df)[1])
    # plotting the boxplots
    plt_wool <- ggplot(subset(df_mlt, value > 0), aes(x=ID1,y=value)) + 
      geom_boxplot(aes(color=factor(ID1))) +
      scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x), labels = trans_format("log10", math_format(10^.x))) +    
      theme_bw() +
      theme(legend.text=element_text(size=14), legend.title=element_text(size=14))+
      theme(axis.text=element_text(size=20)) +
      theme(axis.title=element_text(size=20,face="bold")) +
      labs(x = "x", y = "y",colour="legend" ) +
      annotation_logticks(sides = "rl") +
      theme(panel.grid.minor = element_blank()) +
      guides(title.hjust=0.5) +
      theme(plot.margin=unit(c(0,1,0,0),"mm")) 
    plt_wool …
Run Code Online (Sandbox Code Playgroud)

r outliers ggplot2 boxplot

12
推荐指数
2
解决办法
4万
查看次数

忽略ggplot2 boxplot + faceting +"free"选项中的异常值

如何调整我的Y轴以忽略异常值,就像在这篇文章中一样,但是在一个更具挑战性的情况下,我有4个箱图和"自由刻面"布局?

p < - ggplot(molten.DF,aes(x = class,y = SOC,fill = class))+ geom_boxplot()+ facet_grid(layer~.,scales ="free",space ="free")

正如您在我的图中所看到的,考虑Y轴范围内的异常值会使框更难以阅读.如果结果中仍然可以看到一些异常值,那就不重要了,但我想真正关注这些方块!

具有自由尺度的boxplot,所有异常值都是(不幸)可见

r facet outliers ggplot2 boxplot

11
推荐指数
1
解决办法
3981
查看次数

带有预先计算值的geom_boxplot

在过去,我已经能够使用ggplot2通过提供较低的晶须,较低的分位数,中位数,较高的分位数和较高的晶须以及x轴标签来创建箱图.例如:

DF <- data.frame(x=c("A","B"), min=c(1,2), low=c(2,3), mid=c(3,4), top=c(4,5), max=c(5,6))
ggplot(DF, aes(x=x, y=c(min,low,mid,top,max))) +
geom_boxplot()
Run Code Online (Sandbox Code Playgroud)

将为两组数据(A和B)制作一个箱线图.这不再适合我.我收到以下错误:

Error: Aesthetics must either be length one, or the same length as the dataProblems:x
Run Code Online (Sandbox Code Playgroud)

有没有人知道ggplot2中是否有某些变化?

r ggplot2 boxplot

11
推荐指数
1
解决办法
5644
查看次数

在ggplot2中定位水平箱图

我正在尝试用ggplot2中的水平箱图制作一个情节,你只能使用coord_flip().我也试图将箱形图垂直放置以将某些组合在一起.我已经知道这种方法建议使用faceting,但这与coord_flip()不兼容,正如我们在这里看到的:ggplot2:带有facet_grid和自由缩放的boxplot.所以我想知道是否可以使用空白级别来创建空格.这是我到目前为止所做的事情:

d <- diamonds
library("ggplot2")
levels(d$cut) <- list(A="Fair", B="Good", "-", C="Very Good", D="Ideal", E="Premium")
p = ggplot(d, aes(x=cut, y=depth))
p + 
    geom_boxplot(color="black", size=0.2) + 
    theme_bw() + 
    scale_x_discrete(breaks = c("A", "B", "-", "C", "D", "E"), drop=FALSE) +
    coord_flip()

ph = 2.75
pw = 4
ggsave("plot.png", height=ph, width=pw)
Run Code Online (Sandbox Code Playgroud)

如您所见,如果我在其中创建一个带有" - "的空白级别并将其包含在scale_x_discrete()中,那么我会得到一个空白行.问题是我只能添加一个空格.有没有人对如何在这些水平箱形图之间添加空格有任何想法?

r ggplot2 boxplot

11
推荐指数
1
解决办法
1万
查看次数

熊猫的加权boxplot

对于以下数据帧(df),

     ColA      ColA_weights      ColB   ColB_weights
0  0.038671            1073  1.859599             1
1  20.39974           57362  10.59599             1
2  10.29974            5857  2.859599             1
3  5.040000            1288  33.39599             1
4  1.040000            1064  7.859599             1
Run Code Online (Sandbox Code Playgroud)

我想绘制一个加权箱图,其中每个框的权重分别由ColA_weights和ColB_weights给出,我只是做

df.boxplot(fontsize=12,notch=0,whis=1.5,vert=1,widths=0.2)
Run Code Online (Sandbox Code Playgroud)

但是,似乎没有规定包括权重.有解决方案吗

谢谢!

python boxplot pandas

11
推荐指数
1
解决办法
1052
查看次数

如何绘制混合箱图:另一半有抖动点的半箱图?

我试图在今年发表在Nature上一篇文章中对图2d-f进行类似的绘图.它基本上是一个半箱图,另一半有点.

任何人都可以给我一些提示吗?非常感谢你!

DOI:10.1038/nature25479

这些是我的数据和代码,它们生成带有内部点的完整框

require(magrittr)
require(tidyverse)

dat <- structure(list(p1 = c(0.0854261831077604, 0.408418657218253, 
  0.577793646477315, 0.578028229977424, 0.48933166218204, 0.53117814324334, 
  0.526653494462464, 0.00687616283435221, 0.444300425796509, 0.00287319455358522, 
  0.949821402532831, 0.96832469523368, 0.953281969982759, 0.360125244759434, 
  0.407921095422844, 0.885776732104954, 0.159882184516691, 0.911094990767761, 
  0.0444367172734037, 0.144888951725151, 0.508858686640707, 0.694913731085945, 
  0.117270366119258, 0.78227546070467, 0.980457304886186, 0.711464034564424, 
  0.753944466390685, 0.0474210438747038, 0.00344183466223558, 0.0290017465534545, 
  0.75092385236303, 0.868873921257987, 0.744396990487425, 0.0140007244233847, 
  0.0332266395043963, 0.482897084793009, 0.0535516646483004, 0.452926358923891, 
  0.0144057727301603, 0.171918034525543), p2 = c(0.101262675229211, 
  0.196913109208586, 0.37814311161382, 0.0677625689405156, 0.12517090579686, 
  0.409083554335168, 0.158886941347288, 0.847394861862651, 0.180560031076741, 
  0.967122694294885, 0.000901627067665116, 0.00039495110143705, 
  9.70707318411806e-05, 0.546200038486894, 0.435475454787648, 5.95555269800323e-06, 
  0.0178837768834925, 8.42690065415846e-06, 0.00777059697751842, 
  0.0020397073541544, 0.486699073016371, 0.283679673247571, 0.857183359146641, 
  0.200712003853458, 0.0164911141652784, …
Run Code Online (Sandbox Code Playgroud)

plot r data-visualization ggplot2 boxplot

11
推荐指数
3
解决办法
1388
查看次数

标签 统计

boxplot ×10

r ×8

ggplot2 ×6

outliers ×2

python ×2

data-visualization ×1

facet ×1

matplotlib ×1

pandas ×1

plot ×1