Python mdates.DateLocator()引发未实现错误

Python mdates.DateLocator()引发未实现错误,python,matplotlib,Python,Matplotlib,我仍在努力在xticks中获得良好的四舍五入数据时间: 所以答案很好,我可以用 plt.gca().xaxis.set_major_locator(mdates.HourLocator()) 在xticks里混上几个小时 然而,如果我只是这么做的话 plt.gca().xaxis.set_major_locator(mdates.DateLocator()) 它给出: File "/python/anaconda-2.7.11-64/lib/python2.7/site-packa

我仍在努力在xticks中获得良好的四舍五入数据时间:

所以答案很好,我可以用

plt.gca().xaxis.set_major_locator(mdates.HourLocator()) 
在xticks里混上几个小时

然而,如果我只是这么做的话

plt.gca().xaxis.set_major_locator(mdates.DateLocator()) 
它给出:

  File "/python/anaconda-2.7.11-64/lib/python2.7/site-packages    /matplotlib/ticker.py", line 1289, in __call__
    raise NotImplementedError('Derived must override')
NotImplementedError: Derived must override
将HourLocator()更改为DateLocator()真的不可能吗? 我正在使用
matplotlib.\uuu版本\uuuuu'2.0.2'

您不应该单独使用
日期定位器。这是matplotlib提供的所有其他日期定位器的基类。matplotlib日期API页将被删除

以下是所有日期标记:

  • 分钟定位器:定位分钟
  • 小时定位器:查找小时数
  • DayLocator:查找指定的月份天数
  • WeekdayLocator:查找一周中的几天,例如MO、TU
  • MonthLocator:查找月份,例如7月份
  • YearLocator:查找基数倍数的年份
  • RRuleLocator:使用matplotlib.dates.RRuleRapper进行定位。rrulewrapper是dateutil.rrule(dateutil)的简单包装器,它允许几乎任意的日期标记规范。参见示例
  • AutoDateLocator:在自动缩放上,该类选择最佳的MultipleDateLocator来设置视图限制和刻度位置
选择其中任何一个,你都会很好

除上述内容外,还有一个
SecondLocator

一个
微秒定位器
可用,但没有(很好)的文档记录。

您不应该单独使用
日期定位器
。这是matplotlib提供的所有其他日期定位器的基类。matplotlib日期API页将被删除

以下是所有日期标记:

  • 分钟定位器:定位分钟
  • 小时定位器:查找小时数
  • DayLocator:查找指定的月份天数
  • WeekdayLocator:查找一周中的几天,例如MO、TU
  • MonthLocator:查找月份,例如7月份
  • YearLocator:查找基数倍数的年份
  • RRuleLocator:使用matplotlib.dates.RRuleRapper进行定位。rrulewrapper是dateutil.rrule(dateutil)的简单包装器,它允许几乎任意的日期标记规范。参见示例
  • AutoDateLocator:在自动缩放上,该类选择最佳的MultipleDateLocator来设置视图限制和刻度位置
选择其中任何一个,你都会很好

除上述内容外,还有一个
SecondLocator

可用的
微秒定位器
,没有(很好)的文档记录。

可以尝试
自动日期定位器
?或者,如果您知道您想要月或年,请尝试
MonthLocator
YearLocator
?或者尝试
AutoDateLocator
?或者,如果您知道您想要月或年,请尝试
MonthLocator
YearLocator
?使用autodatelocator时,如何设置所需的最大刻度数?有一个参数
maxticks
。它不起作用吗?如果我使用mdates.AutoDateLocator(minticks=total_days,maxticks=total_days),它会起作用。但是,当我为minticks和maxticks输入相同的值时,会出现一个错误UserWarning:AutoDateLocator无法为此日期范围选择适当的时间间隔。可能需要在AutoDateLocator的intervald字典中添加间隔值。默认值为10000。”默认为{0}.'.format(interval)),您应该给AutoDateLocator一些自由来选择一些好的位置(因此命名为Auto)。将“最小值”和“最大值”设置为相同的值可能会导致奇怪的结果。这就是警告告诉你的。请注意,这不是一个错误;如果结果正常,则可以忽略警告。轴的限制通过ax.get_xlim()
获得。使用autodatelocator时,如何设置所需的最大刻度数?具有参数
maxticks
。它不起作用吗?如果我使用mdates.AutoDateLocator(minticks=total_days,maxticks=total_days),它会起作用。但是,当我为minticks和maxticks输入相同的值时,会出现一个错误UserWarning:AutoDateLocator无法为此日期范围选择适当的时间间隔。可能需要在AutoDateLocator的intervald字典中添加间隔值。默认值为10000。”默认为{0}.'.format(interval)),您应该给AutoDateLocator一些自由来选择一些好的位置(因此命名为Auto)。将“最小值”和“最大值”设置为相同的值可能会导致奇怪的结果。这就是警告告诉你的。请注意,这不是一个错误;如果结果正常,则可以忽略警告。通过
ax.get_xlim()
获得轴的限制。