python – 设置pandas Dataframe Boxplot()的y轴刻度,3个偏差?

我正在尝试每月制作一个箱线图表区域,不同的箱形图按行业分组(并标记),然后让Y轴使用我指定的比例.

在一个完美的世界中,这将是动态的,我可以将轴设置为与整体平均值的一定数量的标准偏差.我可以使用其他类型的动态设置y轴,但我希望它是所有创建的“月度”分组箱图的标准.我不知道处理这个问题的最佳方法是什么,并且对智慧开放 – 我所知道的是现在使用的数字对于图表来说是有意义的.

我已经尝试过所有类型的代码,并且在轴的缩放方面没有运气,下面的代码就像我可以接近图表一样接近.

这是一些虚拟数据的链接:
https://drive.google.com/open?id=0B4xdnV0LFZI1MmlFcTBweW82V0k

对于我正在使用Python 3.5的代码:

import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
matplotlib.use('TkAgg')
import pylab    
df =  pd.read_csv('Query_Final_2.csv')
df['Ship_Date'] = pd.to_datetime(df['Ship_Date'], errors = 'coerce')
df1 = (df.groupby('Industry'))
print(
df1.boxplot(column='Gross_Margin',layout=(1,9), figsize=(20,10), whis=[5,95])
,pylab.show()
)

解决方法:

以下是使用解决方案清理的代码版本:

import pandas as pd
import matplotlib.pyplot as plt

df =  pd.read_csv('Query_Final_2.csv')
df['Ship_Date'] = pd.to_datetime(df['Ship_Date'], errors = 'coerce')
df1 = df.groupby('Industry')

axes = df1.boxplot(column='Gross_Margin',layout=(1,9), figsize=(20,10),
                   whis=[5,95], return_type='axes')
for ax in axes.values():
    ax.set_ylim(-2.5, 2.5)

plt.show()

关键是将子图作为轴对象返回并单独设置限制.

上一篇:是否有一种使用Python Matplotlib在分组箱图上显示样本大小的好方法


下一篇:python-熊猫boxplot中每个子图的独立轴