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

标签 python pandas dataframe boxplot

我试图每月制作一个箱线图图表区域,其中不同的箱线图按行业分组(并标记),然后让 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 - 设置 pandas Dataframe Boxplot() 的 y 轴刻度,3 个偏差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40892300/

相关文章:

python - 将numpy数组转储到excel文件中

python - 为什么发送连续的 UDP 消息会导致消息延迟到达?

python - 我不明白为什么我的 if 循环不能正常工作

python - 如何制作一个虚拟列来确定列单元格值是否重复?

python - 如果识别出特定元素,则乘以 DataFrame 中的值

python - 根据多个条件替换 groupby 中的值

python - 三次Hermite样条插值python

python - Python 中的点语法是什么意思?

python - 按 pandas 中的字符串列编号名称聚合列值

用 R 中定义的向量替换行名称