<p>我无法用您的数据集测试它,而pandas datetime有时在matplotlib datetime中很困难。但是我们的想法是分别设置<a href="https://matplotlib.org/api/dates_api.html" rel="nofollow noreferrer">major and minor ticks</a>和{a2}:</p>
<pre><code>import pandas as pd
from matplotlib import pyplot as plt
from matplotlib import dates as mdates
#create sample data and plot it
from io import StringIO
data = StringIO("""
X,A,B
2018-11-21T12:04:20,1,8
2018-11-21T18:14:17,6,7
2018-11-22T02:18:21,8,14
2018-11-22T12:31:54,7,8
2018-11-22T20:33:20,5,5
2018-11-23T12:23:12,13,2
2018-11-23T21:31:05,7,12
""")
df = pd.read_csv(data, parse_dates = True, index_col = "X")
ax=df.plot()
#format major locator
ax.xaxis.set_major_locator(mdates.DayLocator())
#format minor locator with specific hours
ax.xaxis.set_minor_locator(mdates.HourLocator(byhour = [8, 12, 18]))
#label major ticks
ax.xaxis.set_major_formatter(mdates.DateFormatter('%a %d %m'))
#label minor ticks
ax.xaxis.set_minor_formatter(mdates.DateFormatter("%H:00"))
#set grid for major ticks
ax.grid(which = "major", axis = "x", linestyle = "-", linewidth = 2)
#set grid for minor ticks with different properties
ax.grid(which = "minor", axis = "x", linestyle = " ", linewidth = 1)
plt.show()
</code></pre>
<p>样本输出:
<a href="https://i.stack.imgur.com/MUwo9.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MUwo9.jpg" alt="enter image description here"/></a></p>