为什么pandas DataFrame.boxplot()和DataFrame.plot.box()给出不同的结果?

时间:2017-02-26 18:57:54

标签: python pandas plot

Python的pandas库的文档表明DataFrame.boxplot()DataFrame.plot.box()以及DataFrame.plot(kind='box')是别名。但是,请考虑以下代码:

%matplotlib inline
import pandas as pd

data = [{'number': 2, 'group': 'A'},
        {'number': 4, 'group': 'B'},
        {'number': 1, 'group': 'A'},
        {'number': 5, 'group': 'B'},
        {'number': 2, 'group': 'A'},
        {'number': 4, 'group': 'B'}]

df = pd.DataFrame(data)
df.boxplot(by='group');

Correct boxplot[2]

我认为使用这种替代语法应该做同样的事情:

df.plot.box(by='group');

然而,它产生了这个:

Incorrect plot.box()

你知道他们为什么产生不同的输出吗?

对于它的价值,df.plot(kind='box', by='group');产生与df.plot.box(by='group');

相同的输出

作为奖励问题,如何使boxplot()示例中的标题不重叠?

版本:

  • Python 3.5.2 | Anaconda 4.3.0(64位)| (默认,2016年7月5日, 11:41:13)[MSC v.1900 64 bit(AMD64)]
  • pandas 0.19.2
  • numpy 1.11.3
  • matplotlib 2.0.0

0 个答案:

没有答案