在 x 轴上注释日期
Annotate date on the 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 的橙色线,这样我才能看到日期。有没有一种方法可以画一条直线并将其日期显示在 x 轴上?
如果你在 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)
我有以下代码:
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 的橙色线,这样我才能看到日期。有没有一种方法可以画一条直线并将其日期显示在 x 轴上?
如果你在 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)