使用seaborn的盒子须晶图不显示盒子和须晶

时间:2018-11-26 19:59:16

标签: python seaborn

我正在尝试与seaborn一起制作盒子和晶须图。我的最小值为-200,000,最大值为1,400,000。这两个都是离群值。但是我只得到有点类似于散点图的图。

下面是我的代码

import pandas as pd
import numpy as np
import xlrd

import matplotlib.pyplot as plt
import seaborn as sns

pi_analysis = pd.read_excel(r'C:\PI\PI Analysis.xlsx',
                           sheet_name = 'Raw Data'
                           , header = 0
                           )
print(pi_analysis)
group_segement= pi_analysis[['Segment', 'TOTAL AMOUNT']].groupby('Segment').sum()

print(group_segement)
group_segement_mean= pi_analysis[['Segment', 'TOTAL AMOUNT']].groupby('Segment')
group_segement_mean.mean().head()
group_segement_mean.describe()

sns.boxplot(x="Segment", y="TOTAL AMOUNT",data=pi_analysis)

enter image description here

已附加图像。试图更改访问权限。它不起作用。有关如何显示盒子和胡须的任何建议。

更改比例后的新图像。

enter image description here

这是代码部分。但是,它仍然无法提供完整的视图。

ax=sns.boxplot(x='Segment',y='TOTAL AMOUNT',data=pi_analysis)
ax.set_ylim(-10*10^8,10*10^8)

关于, 仁。

2 个答案:

答案 0 :(得分:2)

您看到的压缩框是缩放导致极端离群值的结果。删除异常值很容易

Seaborn boxplots将采用matplotlib参数:

showfliers=False

这将导致仅显示盒子和晶须的图,而未显示异常值。

代码的最后一行将是:

sns.boxplot(x="Segment", y="TOTAL AMOUNT",data=pi_analysis, showfliers=False) 

答案 1 :(得分:1)

正如@ g-anderson在他的评论中提到的那样,箱线图在那里,它太小了,您看不到。考虑以下代码:

d = np.random.random(size=(100,))
d[0] = 100
d[-1] = -100

fig, ax = plt.subplots()
sns.boxplot(data=d, orient='vertical')

enter image description here

如果要查看箱线图,可以简单地将y轴重新缩放到更相关的范围:

fig, ax = plt.subplots()
sns.boxplot(data=d, orient='vertical')
ax.set_ylim(-1,2)

enter image description here