2017-02-22 132 views
0

这里日期是我的代码:堆积面积图和在matplotlib

import datetime as dt 
import matplotlib.pyplot as plt 
import matplotlib.dates as mdates 
dates = ['2014-12-15','2015-11-07','2016-01-10'] 
x = [dt.datetime.strptime(d,'%Y-%m-%d').date() for d in dates] 
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y')) 
plt.gca().xaxis.set_major_locator(mdates.DayLocator()) 
plt.stackplot(x,[1,2,3],[7,8,3]) 
plt.gcf().autofmt_xdate() 
plt.show() 

它产生以下情节:

ugly plot

如何解决它只有3个日期?我跟着下面的例子:SO example

回答

3

你只需要设置xticks使用下面的命令:

plt.xticks(x) 

您显示数字之前就加入这一行。 DayLocator默认显示每一天。就你而言,你有太多的时间来展示。您可以删除第7行,设置Daylocator,并将上面的行替换为将日期设置为日期的行。这是结果: enter image description here