绘制日期时比例尺不一致

时间:2019-04-14 14:53:30

标签: python-3.x matplotlib

我有一个用matplotlib.dates.date2num格式化的日期列表和一个整数列表。我正在尝试在x轴上绘制带有日期的折线图。但是,使用Python 3时,matplotlib并不总是能正确绘制日期。但是,我注意到,使用Python 2时,这并不是问题。

这是我的代码:

fig, ax = plt.subplots()
plt.title(constants.chart_title)
plt.xlabel('X-Axis')
plt.ylabel('Y-Axis ')
fig.autofmt_xdate()
plt.plot_date(;ist_of_formatted_dates, list_of_integers)
plt.savefig('chart.png')

下面是一个示例,该示例使用2个不同版本的python输出相同的脚本:

Python 2.7

Python 3.6

使用Python 3时,好像matplotlib正在绘制所有奇数天,而且问题是March具有31天,因此即使所有其他奇数都相隔03-31和04-01天相隔2天。

对此有任何解决方法吗?

1 个答案:

答案 0 :(得分:0)

多亏了乔迪·克里玛(Jody Klymak),我才得以解决。在保存图表之前,我添加了几行代码:

ion-content{    
    --webkit-transform-style: preserve-3d;
    --webkit-backface-visibility: hidden;
}

plt.xticks() locator = mpd.AutoDateLocator(interval_multiples=False) ax.xaxis.set_major_locator(locator) 更改了Python 3的一些默认kwarg,因此最后两行代码只是将其更改回了原来的行为。并且matplotlib确保日期格式正确。