Matplotlib 如何使用pandas.DataFrame.boxplot的返回值?

Matplotlib 如何使用pandas.DataFrame.boxplot的返回值?,matplotlib,pandas,Matplotlib,Pandas,告诉我pandas.DataFrame.boxplot()返回matplotlib.axes.AxesSubplot,但我似乎得到了一个dict。。。我是否误读了文档或以其他方式感到困惑 我希望能够改变我的轴标签,可能会倾斜它们,因为当前的文本有点长和笨拙。但是我想知道我是否可以使用boxplot()的返回值在pandas中也这样做 代码: 输出: <class 'dict'> 谢谢。这里的文档串有误导性。你应该在网上提交一个问题 请记住,df.boxplot采用rot参数,因

告诉我pandas.DataFrame.boxplot()返回matplotlib.axes.AxesSubplot,但我似乎得到了一个dict。。。我是否误读了文档或以其他方式感到困惑

我希望能够改变我的轴标签,可能会倾斜它们,因为当前的文本有点长和笨拙。但是我想知道我是否可以使用boxplot()的返回值在pandas中也这样做

代码:

输出:

<class 'dict'>


谢谢。

这里的文档串有误导性。你应该在网上提交一个问题

请记住,
df.boxplot
采用
rot
参数,因此您可以在创建时指定该参数。 不幸的是,它看起来不像boxplot返回轴:

In [45]: df = DataFrame(rand(10,5))

In [46]: bp = df.boxplot(rot=45)

In [47]: bp
Out[47]: 
{'boxes': [<matplotlib.lines.Line2D at 0x111f53a50>,
  <matplotlib.lines.Line2D at 0x111f5dc10>,
  <matplotlib.lines.Line2D at 0x111f68e50>,
  <matplotlib.lines.Line2D at 0x111f740d0>,
  <matplotlib.lines.Line2D at 0x111f7d310>],
 'caps': [<matplotlib.lines.Line2D at 0x111f4eb50>,
  <matplotlib.lines.Line2D at 0x111f4ecd0>,
  <matplotlib.lines.Line2D at 0x111f5af50>,
  <matplotlib.lines.Line2D at 0x111f5d5d0>,
  <matplotlib.lines.Line2D at 0x111f681d0>,
  <matplotlib.lines.Line2D at 0x111f68810>,
  <matplotlib.lines.Line2D at 0x111f72410>,
  <matplotlib.lines.Line2D at 0x111f72a50>,
  <matplotlib.lines.Line2D at 0x111f7a650>,
  <matplotlib.lines.Line2D at 0x111f7ac90>],
 'fliers': [<matplotlib.lines.Line2D at 0x111f58710>,
  <matplotlib.lines.Line2D at 0x111f5a110>,
  <matplotlib.lines.Line2D at 0x111f608d0>,
  <matplotlib.lines.Line2D at 0x111f60ed0>,
  <matplotlib.lines.Line2D at 0x111f6bb10>,
  <matplotlib.lines.Line2D at 0x111f6e510>,
  <matplotlib.lines.Line2D at 0x111f74d50>,
  <matplotlib.lines.Line2D at 0x111f77750>,
  <matplotlib.lines.Line2D at 0x111f7df90>,
  <matplotlib.lines.Line2D at 0x111f80990>],
 'medians': [<matplotlib.lines.Line2D at 0x111f580d0>,
  <matplotlib.lines.Line2D at 0x111f60290>,
  <matplotlib.lines.Line2D at 0x111f6b4d0>,
  <matplotlib.lines.Line2D at 0x111f74710>,
  <matplotlib.lines.Line2D at 0x111f7d950>],
 'whiskers': [<matplotlib.lines.Line2D at 0x111f4eed0>,
  <matplotlib.lines.Line2D at 0x111f4e7d0>,
  <matplotlib.lines.Line2D at 0x111f5a710>,
  <matplotlib.lines.Line2D at 0x111f5a910>,
  <matplotlib.lines.Line2D at 0x111f638d0>,
  <matplotlib.lines.Line2D at 0x111f63b50>,
  <matplotlib.lines.Line2D at 0x111f6eb10>,
  <matplotlib.lines.Line2D at 0x111f6ed90>,
  <matplotlib.lines.Line2D at 0x111f77d50>,
  <matplotlib.lines.Line2D at 0x111f77fd0>]}
然后从那里开始格式化。

感谢您的回复——我将尝试一下。
In [45]: df = DataFrame(rand(10,5))

In [46]: bp = df.boxplot(rot=45)

In [47]: bp
Out[47]: 
{'boxes': [<matplotlib.lines.Line2D at 0x111f53a50>,
  <matplotlib.lines.Line2D at 0x111f5dc10>,
  <matplotlib.lines.Line2D at 0x111f68e50>,
  <matplotlib.lines.Line2D at 0x111f740d0>,
  <matplotlib.lines.Line2D at 0x111f7d310>],
 'caps': [<matplotlib.lines.Line2D at 0x111f4eb50>,
  <matplotlib.lines.Line2D at 0x111f4ecd0>,
  <matplotlib.lines.Line2D at 0x111f5af50>,
  <matplotlib.lines.Line2D at 0x111f5d5d0>,
  <matplotlib.lines.Line2D at 0x111f681d0>,
  <matplotlib.lines.Line2D at 0x111f68810>,
  <matplotlib.lines.Line2D at 0x111f72410>,
  <matplotlib.lines.Line2D at 0x111f72a50>,
  <matplotlib.lines.Line2D at 0x111f7a650>,
  <matplotlib.lines.Line2D at 0x111f7ac90>],
 'fliers': [<matplotlib.lines.Line2D at 0x111f58710>,
  <matplotlib.lines.Line2D at 0x111f5a110>,
  <matplotlib.lines.Line2D at 0x111f608d0>,
  <matplotlib.lines.Line2D at 0x111f60ed0>,
  <matplotlib.lines.Line2D at 0x111f6bb10>,
  <matplotlib.lines.Line2D at 0x111f6e510>,
  <matplotlib.lines.Line2D at 0x111f74d50>,
  <matplotlib.lines.Line2D at 0x111f77750>,
  <matplotlib.lines.Line2D at 0x111f7df90>,
  <matplotlib.lines.Line2D at 0x111f80990>],
 'medians': [<matplotlib.lines.Line2D at 0x111f580d0>,
  <matplotlib.lines.Line2D at 0x111f60290>,
  <matplotlib.lines.Line2D at 0x111f6b4d0>,
  <matplotlib.lines.Line2D at 0x111f74710>,
  <matplotlib.lines.Line2D at 0x111f7d950>],
 'whiskers': [<matplotlib.lines.Line2D at 0x111f4eed0>,
  <matplotlib.lines.Line2D at 0x111f4e7d0>,
  <matplotlib.lines.Line2D at 0x111f5a710>,
  <matplotlib.lines.Line2D at 0x111f5a910>,
  <matplotlib.lines.Line2D at 0x111f638d0>,
  <matplotlib.lines.Line2D at 0x111f63b50>,
  <matplotlib.lines.Line2D at 0x111f6eb10>,
  <matplotlib.lines.Line2D at 0x111f6ed90>,
  <matplotlib.lines.Line2D at 0x111f77d50>,
  <matplotlib.lines.Line2D at 0x111f77fd0>]}
In [48]: ax = bp['boxes'][0].get_axes()

In [49]: ax
Out[49]: <matplotlib.axes.AxesSubplot at 0x111ed1f50>