python-3.x - 在 xaxis 上标注日期
问题描述
我有以下代码:
import pandas as pd
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime as datetime
start = datetime.date(2008,1,1)
end = datetime.date.today()
start1 = datetime.date(2019,1,1)
data = web.get_data_yahoo("AAPL",start, end)
data1 = web.get_data_yahoo("AMZN", start1, end1)
ax = data.plot(y ="Close")
data1.plot(y = "Close", ax=ax)
生成的图表如下所示:
我如何注释 AMZN 的橙色线,以便我可以看到日期。有没有办法可以画出一条直线并将其日期显示在 xaxis 上?
解决方案
如果您在 x 轴上绘制日期刺痛,我认为您会得到一个结块的结果。在旁边添加文本符号怎么样:
ax.text(start1, data1.Close[0], start1, ha='right', va='top', rotation=90)
如果您还想添加垂直线,这是完整的代码:
import pandas as pd
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime as datetime
start = datetime.date(2008,1,1)
end = datetime.date.today()
start1 = datetime.date(2019,1,1)
data = web.get_data_yahoo("AAPL",start, end)
data1 = web.get_data_yahoo("AMZN", start1, end)
ax = data.plot(y ="Close")
data1.plot(y = "Close", ax=ax)
ylims = ax.get_ylim()
ax.vlines(start1, ylims[0], data1.Close[0], linestyles='--')
ax.text(start1, data1.Close[0], start1, ha='right', va='top', rotation=90)
ax.set_ylim(ylims)
推荐阅读
- javascript - JavaScript 变量与类
- android - 以编程方式在文本视图旁边添加按钮
- r - 如何按年份减去每个国家/地区的值
- django-forms - 渲染 HTML 时删除所需的 attr
- react-native - Android 'react-native-gesture-handler' 错误
- python - 如何在多进程共享数组中从 lmfit 传递 ModelResult 类?
- r - 如何在 R 中将列名的编码更改为 utf 8
- python - 在 python 中,如何在 api 端点的 { 之前添加一个 $ 符号
- r - 使用新数据集在 purrr::map 之后从 glm 模型预测概率
- sorting - Kotlin 中的比较器解释