multiplelocator

multiplelocator

img

multiplelocator

请问是不是 数据不连续?
请描述一下 具体问题

根据您的问题描述,关于multiplelocator显示日期不完全的问题,这里可能有这呢几个可能:
一个是你的x轴的数据问题,你可以把读取到的x轴的数据打印出来看看,检查数据内容和数据格式是否有问题,这个是比较重要的,你的大概率是这个问题。
一个可能是你绘制图像是,没有设置好横坐标的数据间距,导致数据被覆盖重叠了。还有就是没有设置rotation旋转日期的显示位置。
还有可能是你取的数据不对,需要核对下。

您的问题应该是:x轴日期拥挤在一起了,只显示了前面几个日期,后面的日期没有显示出来。
如何让x轴的日期有效排列,并展示的比较美观。
示例代码如下:

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import datetime
# 定义日期列表
dates = [datetime.date(2020, 1, 1),
         datetime.date(2020, 1, 2),
         datetime.date(2020, 1, 3),
         datetime.date(2020, 1, 4),
         datetime.date(2020, 1, 5),
         datetime.date(2020, 1, 6),
         datetime.date(2020, 1, 7),
         datetime.date(2020, 1, 8),
         datetime.date(2020, 1, 9),
         datetime.date(2020, 1, 10)]
# 定义数据列表
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 创建画布
fig, ax = plt.subplots()
# 设置x轴的刻度
ax.xaxis.set_major_locator(mdates.DayLocator(interval=2))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%!Y(MISSING)-%!m(MISSING)-%!d(MISSING)'))
# 绘制折线图
ax.plot(dates, data)
# 显示图形
plt.show()