Matplotlib 允许使用 matplotlib.axes.Axes.text()
自行在绘图中设置文本。
我正在绘制 Pandas 系列数据,所以 x 轴是日期。
Datetime
2014-11-08 345
2014-11-09 678
2014-11-10 987
2014-11-11 258
Freq: W-SUN, dtype: int64
如果我想添加文本添加位置 (x,y) = (2014-11-08, 345)
,我该怎么做? 2014-11-08
实际上不是 x 轴上的 x 值。我怎样才能找到这个位置?
最佳答案
有几个选项。您可以使用来自 Series 对象的索引、date
或来自 Python 标准库的 datetime
或 pandas 的 的
对象,用于设置时间序列图上标签的 x 轴位置。datetime
对象的值Timestamp
import pandas as pd
from pandas import Timestamp
import datetime as dt
import matplotlib.pyplot as plt
s = pd.Series({Timestamp('2014-11-08 00:00:00'): 345,
Timestamp('2014-11-09 00:00:00'): 678,
Timestamp('2014-11-10 00:00:00'): 987,
Timestamp('2014-11-11 00:00:00'): 258})
fig = plt.figure()
ax = fig.gca()
s.plot(ax=ax)
i = 0
ax.text(s.index[i], s.iloc[i], "Hello")
ax.text(dt.date(2014, 11, 9), 500, "World")
ax.text(Timestamp("2014-11-10"), 777, "!!!")
plt.show()
关于python - Matplotlib,使用带有 pandas 时间序列数据的 plt.text() 设置绘图内文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34383945/