gpt4 book ai didi

python - 这是 Pandas 0.17 中 `Series.plot` 的错误吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:59:17 24 4
gpt4 key购买 nike

我总是使用 ser.plot(xticks=range(0, len(ser), step), ..) 来绘制具有指定 xticks 的图形。但是当带有标签的 Series 时,它在 pandas 0.17 中不再起作用。以下是代码:

In [1]: from numpy import random as rnd 
In [2]: import pandas as pd
In [3]: pd.__version__
Out[3]: '0.17.0'
In [4]: %matplotlib inline
In [5]: rnd.seed(123)
In [6]: ser = pd.Series(rnd.randn(73).cumsum(), index=['P%02d' % i for i in range(73)])
In [7]: ser.plot(figsize=(9, 6), rot=60, title='Figure without xticks')
Out[7]: <matplotlib.axes._subplots.AxesSubplot at 0x8370198

enter image description here

In [8]ser.plot(figsize=(9, 6), xticks=list(range(0, 73, 6)), rot=60, title='Figure with xticks')
Out[8]: <matplotlib.axes._subplots.AxesSubplot at 0x83e9940>

enter image description here

和 pandas 0.16 中的相同代码:

In [1]: from numpy import random as rnd
In [2]: import pandas as pd
In [3]: pd.__version__
Out[3]: '0.16.0'
In [4]: %matplotlib inline
In [5]: rnd.seed(123)
In [6]: ser = pd.Series(rnd.randn(73).cumsum(), index=['P%02d' % i for i in range(73)])
In [8]: ser.plot(figsize=(9, 6), xticks=list(range(0, 73, 6)), rot=60, title='Figure with xticks')
Out[8]: <matplotlib.axes._subplots.AxesSubplot at 0xbbf19b0>

enter image description here

最佳答案

这确实是 0.17.0 中的回归,并将在 0.17.1 中修复(参见 https://github.com/pydata/pandas/pull/11531)。

如果您现在需要解决方法(直到 0.17.1 发布或为了防止您需要降级),您可以:

  • 在创建绘图后手动调整刻度标签:

    ax.set_xticklabels(['P%02d' % i for i in ax.get_xticks()])
  • 或者在 pandas 代码中应用补丁(见上面的链接,它只是一行更改)

关于python - 这是 Pandas 0.17 中 `Series.plot` 的错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33559772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com