我不熟悉pandas和matplotlib,但不熟悉Python。我有两个问题,一个是主要问题,一个是次要问题。在
主要:
我有一个pandas箱线图,FICO分数在x轴上,利率在y轴上。
我的x轴全乱了,因为FICO分数互相覆盖。
我只想在x轴上显示每4或5个ticklabel,原因如下:
我的代码片段如下:
plt.figure()
loansmin = pd.read_csv('../datasets/loanf.csv')
p = loansmin.boxplot('Interest.Rate','FICO.Score')
我将返回值保存在p
中,因为我认为我可能需要进一步操作绘图,现在我要做的就是。在
次要:
如何从pandas boxplot访问plot、subplot、axes对象。
^上面的{matplotlib.axes.AxesSubplot
对象。help(matplotlib.axes.AxesSubplot)
给出一条消息:
dir(matplotlib.axes)
列出了Axes
、Subplot
和{AxesSubplot
。如何更好地理解这个返回的对象?在
当我进一步研究时,我发现可以通过
dir()
来探索返回的对象p
。 我发现了一长串有用的方法,其中包括set_xticklabels
。 做help(p.set_xticklabels)
提供了一些神秘但仍然有用的帮助-本质上是建议为ticklabels传递一个字符串列表。在然后我尝试执行以下操作-在上面代码的最后一行末尾添加
set_xticklabels
,有效地链接调用。在这就产生了预期的结果。我怀疑有一种更好的方法,就像matplotlib那样,它允许你显示每一个n'th标签。但为了立即使用,这是有效的,也允许设置标签,因为任何原因,他们不是周期性的,如果你需要的话。在
像往常一样,把问题写清楚有助于我找到答案。如果有人能帮我找到底层的matplotlib对象,那仍然是个悬而未决的问题。在
AxesSubplot
(我认为)只是在matplotlib中获取Axes
的另一种方法。set_xticklabels()
是matplotlib面向对象接口的一部分(在轴上)。因此,如果您使用的是pylab之类的东西,那么您可以使用xticks(ticks, labels)
,但是在这里,您必须将它分成不同的调用ax.set_xticks(ticks)
,ax.set_xticklabels(labels)
。(其中ax
是Axes
对象)。在假设您只想将勾数设置为650和700。您可以执行以下操作:
类似地,您可以使用}在
set_xlim
和set_ylim
来完成xlim()
和{plt
中的等效操作。在相关问题 更多 >
编程相关推荐