python - matplotlib 中的堆积面积图和日期

标签 python date matplotlib area stacked

这是我的代码:

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

最佳答案

您只需使用以下命令设置xticks:

plt.xticks(x)

只需在显示图形之前添加此行即可。 DayLocator 默认情况下显示每一天。就您而言,您之间有太多天数无法显示。您只需删除设置 Daylocator 的第 7 行,并将其替换为上面将刻度设置为您的日期的行。这是结果: enter image description here

关于python - matplotlib 中的堆积面积图和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42401422/

相关文章:

Javascript两个日期时间比较问题

python - Django 自定义登录模型出错

python - 为什么我的模型总是准确地获得 0.5 AUC?

python-3.x - odoo 11/Python 3 : How to find expiry date of subscription if some weekdays are excluded

swift - 从时间戳创建字符串值时,发生崩溃 [Swift]

python - numpy 数组梯度和 matplotlib quiver 的倒序

python - 我想将标签 numpy 数组转换为二进制矩阵?

python - 使用 lambda 函数 python 进行过滤

python - 在 PySide 中嵌入交互式 3D 绘图

python - 在 Seaborn PairGrid 上 reshape 子图