<p>不要使用<code>interval</code>关键字参数,而是使用<a href="http://matplotlib.org/api/dates_api.html#matplotlib.dates.SecondLocator" rel="noreferrer">^{<cd2>}</a>和<a href="http://matplotlib.org/api/dates_api.html#matplotlib.dates.MinuteLocator" rel="noreferrer">^{<cd3>}</a>精确指定要标记的秒数和分钟数。<code>bysecond</code>和{<cd3>}参数用于构造<a href="http://dateutil.readthedocs.io/en/stable/rrule.html#module-dateutil.rrule" rel="noreferrer">dateutil rrule</a>。<code>rrule</code>生成与特定模式(或者可以说是“规则”)匹配的日期时间。在</p>
<p>例如,<code>bysecond=[20, 40]</code>将日期时间限制在那些
等于20或40。因此,下面的小刻度线只出现在日期时间上
他们的分数等于20或40。在</p>
<pre><code>import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as matdates
N = 100
fig, ax = plt.subplots()
x = np.arange(N).astype('<i8').view('M8[s]').tolist()
y = (np.random.random(N)-0.5).cumsum()
ax.plot(x, y)
seclocator = matdates.SecondLocator(bysecond=[20, 40])
minlocator = matdates.MinuteLocator(byminute=range(60)) # range(60) is the default
seclocator.MAXTICKS = 40000
minlocator.MAXTICKS = 40000
majorFmt = matdates.DateFormatter('%Y-%m-%d, %H:%M:%S')
minorFmt = matdates.DateFormatter('%H:%M:%S')
ax.xaxis.set_major_locator(minlocator)
ax.xaxis.set_major_formatter(majorFmt)
plt.setp(ax.xaxis.get_majorticklabels(), rotation=90)
ax.xaxis.set_minor_locator(seclocator)
ax.xaxis.set_minor_formatter(minorFmt)
plt.setp(ax.xaxis.get_minorticklabels(), rotation=90)
plt.subplots_adjust(bottom=0.5)
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/AGCdx.png" rel="noreferrer"><img src="https://i.stack.imgur.com/AGCdx.png" alt="enter image description here"/></a></p>