【发布时间】:2013-05-21 05:36:37
【问题描述】:
我是 pandas 和 matplotlib 的新手,但不是 Python 的新手。我有两个问题;一个主要的和一个次要的。
主要:
我有一个熊猫箱线图,x 轴为 FICO 分数,y 轴为利率。
我的 x 轴都搞砸了,因为 FICO 分数相互覆盖。
出于以下几个原因,我只想在 x 轴上显示每 4 个或第 5 个刻度标签:
- 总的来说,它的图表垃圾较少
- 在这种情况下,它将允许实际读取标签。
我的代码sn-p如下:
plt.figure()
loansmin = pd.read_csv('../datasets/loanf.csv')
p = loansmin.boxplot('Interest.Rate','FICO.Score')
我将返回值保存在 p 中,因为我认为我可能需要像现在这样进一步操作绘图。
中学:
如何从 pandas boxplot 中访问 plot、subplot、axes 对象。p 上面是一个 matplotlib.axes.AxesSubplot 对象。help(matplotlib.axes.AxesSubplot) 给出一条消息:
'AttributeError: 'module' object has no attribute 'AxesSubplot'
dir(matplotlib.axes) 列出了 Axes、Subplot 和 Subplotbase 在该命名空间中,但没有 AxesSubplot。如何更好地理解这个返回的对象?
【问题讨论】:
-
你应该查看 matplotlib 中的
MultipleLocator。这是一个关于此的example。附带说明;根据我的经验,使用 matplotlib 绘图比在 pandas 中绘图更灵活。 -
您好 nordev,感谢您的指点。但是,要使用 MultipleLocator,我需要访问底层对象。虽然 matplotlib 肯定更灵活,但学习曲线要高得多,而且根据我的探索 - 创建箱线图并不像在 pandas 中那样简单和透明。
标签: python matplotlib pandas