标签: boxplot

在一个图中绘制多个箱图

我将数据保存为.csv12列的文件.第2至11列(标记为F1, F2, ..., F11)features.Column one包含或label这些功能.goodbad

我想绘制boxplot所有这些功能11label,而是通过单独goodbad.到目前为止我的代码是:

qplot(Label, F1, data=testData, geom = "boxplot", fill=Label, 
          binwidth=0.5, main="Test") + xlab("Label") + ylab("Features")
Run Code Online (Sandbox Code Playgroud)

然而,这只能说明F1反对label.

我的问题是:如何显示F2, F3, ..., F11label在一个图表一些dodge position?我已将这些特征标准化,因此它们在[0 1]范围内具有相同的比例.

测试数据可以在这里找到.我手工绘制了一些东西来解释这个问题(见下文).

手绘boxplot示例

plot r ggplot2 boxplot

67
推荐指数
6
解决办法
25万
查看次数

matplotlib:分组箱图

有没有办法在matplotlib中对boxplots进行分组?

假设我们有三个组"A","B"和"C",我们想为每个组创建"苹果"和"橙子"的箱线图.如果无法直接进行分组,我们可以创建所有六种组合并将它们并排放置.可视化分组的最简单方法是什么?我试图避免将刻度标签设置为"A + apples"之类的东西,因为我的场景涉及的名称比"A"长得多.

python matplotlib boxplot

54
推荐指数
5
解决办法
10万
查看次数

matplotlib中的箱形图:标记和异常值

我有一些问题箱线图中matplotlib:

质疑.我在下面用Q1,Q2Q3突出显示的标记代表什么?我相信Q1是最大值,Q3是异常值,但Q2是什么?

                       在此输入图像描述

问题B matplotlib如何识别异常值?(即它如何知道它们不是真实的maxmin价值观?)

python statistics matplotlib boxplot

54
推荐指数
6
解决办法
5万
查看次数

Seaborn load_dataset

我试图使用Seaborn按照示例获得分组的boxplot

我可以让上面的例子工作,但行:

tips = sns.load_dataset("tips")
Run Code Online (Sandbox Code Playgroud)

根本没有解释.我找到了tips.csv文件,但我似乎无法找到有关load_dataset具体做什么的充分文档.我试图创建自己的csv并加载它,但无济于事.我还重命名了提示文件,它仍然有效...

我的问题是:

load_dataset实际上在哪里寻找文件?我可以将它用于我自己的箱形图吗?

编辑:我设法让我自己的箱形图使用我自己的DataFrame,但我仍然想知道是否load_dataset用于除了神秘的教程示例之外的任何东西.

python boxplot seaborn

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

在ggplot2中,boxplot行的结尾代表什么?

我无法找到箱线图的线端点代表的描述.

例如,这里是线条结束的上方和下方的点值. 在此输入图像描述

(我意识到盒子的顶部和底部分别是第25和第75百分位,中心线是第50个).我假设,因为线上方和下方有点,它们不代表最大/最小值.

r ggplot2 boxplot

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

将胡须末端放在箱形图上

我想在boxplot功能自动给出的胡须末端放置垂直线.

r ggplot2 boxplot

42
推荐指数
3
解决办法
4万
查看次数

使用ggplot2仅将一个轴转换为log10比例

我有以下问题:我想在箱线图上可视化离散和连续变量,其中后者具有一些极高的值.这使得箱形图无意义(图表中的点甚至"主体"太小),这就是为什么我想以log10的比例显示它.我知道我可以忽略可视化中的极值,但我并不打算这样做.

让我们看一个钻石数据的简单例子:

m <- ggplot(diamonds, aes(y = price, x = color))
Run Code Online (Sandbox Code Playgroud)

替代文字

问题在这里并不严重,但我希望你能想象为什么我希望以log10的比例看到这些值.我们来试试吧:

m + geom_boxplot() + coord_trans(y = "log10")
Run Code Online (Sandbox Code Playgroud)

替代文字

正如您所看到的那样,y轴是log10缩放并且看起来很好但是x轴存在问题,这使得绘图非常奇怪.

问题不会发生scale_log,但这不是我的选择,因为我不能这样使用自定义格式化程序.例如:

m + geom_boxplot() + scale_y_log10() 
Run Code Online (Sandbox Code Playgroud)

替代文字

我的问题:有没有人知道在y轴上用log10刻度绘制boxplot的解决方案,标签可以用formatter这个线程中的函数自由格式化?


根据答案和评论编辑问题以帮助回答者:

我真正追求的是:一个log10转换轴(y)没有科学标签.我想将它标记为美元(formatter=dollar)或任何自定义格式.

如果我尝试@ hadley的建议,我会收到以下警告:

> m + geom_boxplot() + scale_y_log10(formatter=dollar)
Warning messages:
1: In max(x) : no non-missing arguments to max; returning -Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
3: In max(x) : no non-missing arguments to max; …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 boxplot scaletransform

38
推荐指数
3
解决办法
9万
查看次数

将颜色添加到boxplot - "提供给离散比例的连续值"错误

对我的问题可能有一个非常简单的解决方案,但我无法在网上找到满意的答案.

使用以下命令,我能够创建以下boxplot图并将其与各个数据点重叠:

ggplot(data = MYdata, aes(x = Age, y = Richness)) + 
  geom_boxplot(aes(group=Age)) + 
  geom_point(aes(color = Age))
Run Code Online (Sandbox Code Playgroud)

有几件事我想添加/更改:

1.使用从左到右的6种不同颜色更改每个箱图的线条颜色和/或填充(取决于"年龄"):

c("#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00")
Run Code Online (Sandbox Code Playgroud)

我试过了

ggplot(data = MYdata, aes(Age, Richness)) + 
  geom_boxplot(aes(group=Age)) + 
  scale_colour_manual(values = c("#E69F00", "#56B4E9", "#009E73", 
                                 "#F0E442", "#0072B2", "#D55E00")) 
Run Code Online (Sandbox Code Playgroud)

但它会导致"Continuous value supplied to discrete scale"错误.

2.使用从左到右的6种不同颜色更改每个数据点的颜色(取决于"年龄"):

c("#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00")
Run Code Online (Sandbox Code Playgroud)

我试过了:

ggplot(data = MYdata, aes(Age, Richness)) + 
  geom_boxplot(aes(group=Age)) + 
  geom_point(aes(color = Age)) + 
  scale_colour_manual(values = c("#E69F00", "#56B4E9", "#009E73", 
                                 "#F0E442", "#0072B2", "#D55E00")) …
Run Code Online (Sandbox Code Playgroud)

r colors ggplot2 boxplot

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

将星星放在ggplot条形图和箱线图上 - 表示显着性水平(p值)

将星星放在条形图或箱线图上以显示一组或两组之间的显着性水平(p值)是很常见的,下面是几个例子:

在此输入图像描述在此输入图像描述在此输入图像描述

星数由p值定义,例如,p值<0.001时可以放3颗星,p值<0.01时可以放2颗星等等(虽然这会从一篇文章变为另一篇文章).

我的问题:如何生成类似的图表?根据显着性水平自动放置星星的方法非常受欢迎.

r bar-chart ggplot2 boxplot p-value

37
推荐指数
4
解决办法
6万
查看次数

根据中值对盒子图进行排序

我想用R来制作一系列按中值排序的箱形图.假设我执行:

boxplot(cost ~ type)
Run Code Online (Sandbox Code Playgroud)

这将给我一些箱形图,成本显示在y轴上,类型类别在x轴上可见:

-----     -----
  |         |
 [ ]        |
  |        [ ]
  |         |
-----     -----
  A         B
Run Code Online (Sandbox Code Playgroud)

但是,我想要的是从最高到最低中值排序的箱线图.我怀疑的是,我需要做的是更改类型(A或B)的标签,以数字方式指示哪个是最低和最高中值,但我想知道是否有更聪明的方法来解决问题.

r boxplot

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