Python 如何最小化x轴上的日期时间刻度数

Python 如何最小化x轴上的日期时间刻度数,python,matplotlib,Python,Matplotlib,我有两个列表:一个是日期,另一个是数据 alldates = Index(['2019-01-25', '2019-01-26', ...'2019-05-09'], dtype='object') data = [0.9868203770867318, .... ,0.9257586144368741] 我想策划他们。我的代码和结果是: plt.plot(alldates,data,'-*',label='R$^2$ score') plt.locator_params(axis='x

我有两个列表:一个是日期,另一个是数据

alldates =    Index(['2019-01-25', '2019-01-26', ...'2019-05-09'], dtype='object')
data = [0.9868203770867318, .... ,0.9257586144368741]
我想策划他们。我的代码和结果是:

plt.plot(alldates,data,'-*',label='R$^2$ score')
plt.locator_params(axis='x', nbins=5)
plt.ylim([-1,1.2])
plt.legend(loc='best')
plt.show()
情节是:

它还发出了一些错误信息:

    C:\Users\MMatam\Anaconda3\lib\site-packages\matplotlib\ticker.py:
    1437: UserWarning: 'set_params()' not defined for locator 
of type <class 'matplotlib.category.StrCategoryLocator'>
          str(type(self)))
C:\Users\MMatam\Anaconda3\lib\site packages\matplotlib\ticker.py:
1437:用户警告:未为定位器定义“set_params()”
类型
str(类型(自我)))

你看到x轴刻度了吗?看起来我的
plt.locator_参数(axis='x',nbins=5)
不起作用。如何在这个轴上只得到几个记号?

@Vishnudev请不要在没有正确阅读问题的情况下引用重复的内容。我已经看过了您引用的解决方案,但不一样。请尝试将
alldates
更改为
datetime
类型,而不是字符串。@QuangHoang,我是python新手。不介意,如何更改?您没有提供足够的信息,因为我不确定
alldates=Index(['2019-01-25','2019-01-26',…'2019-05-09',dtype='object')
的意思。它是否来自一个
pd
dataframe?@QuangHoang它只是一个列表。@Vishnudev请不要在没有正确阅读问题的情况下引用重复的内容。我已经看过了您引用的解决方案,但不一样。请尝试将
alldates
更改为
datetime
类型,而不是字符串。@QuangHoang,我是python新手。不介意,如何更改?您没有提供足够的信息,因为我不确定
alldates=Index(['2019-01-25','2019-01-26',…'2019-05-09',dtype='object')
的意思。它来自一个
pd
dataframe吗?@QuangHoang它只是一个列表。