以日期为轴在matplotlib中放置文本

时间:2018-10-26 03:31:08

标签: python matplotlib

我正在尝试在matplotlib中使用.text()方法放置文本。我的x轴格式为datetime64。它可以像宣传的那样工作,但是仍然出现如下所示的错误。

我的代码:

fix, ax = plt.subplots()
ax.plot(x,y)
ax.text('2014-11-01', 82, 'Text goes here', fontsize=26, weight='bold', alpha=.8)
plt.text('2014-11-01', 77, s= 'Subtitle text goes here', fontsize=18)

将按预期返回图: plot with text

此外,还会引发错误:

TypeError: must be real number, not str

对此我感到很困惑。我还尝试通过matplotlib的dates.date2num(t)方法传递一个数字,但这并不成功。

1 个答案:

答案 0 :(得分:0)

您需要在要插入的实际文本之前传递到@media only screen and (-webkit-min-device-pixel-ratio: 1) { meter:not(:root:root) { appearance: none; } } 坐标。例如:

.text()

您收到的错误是由于在方法需要数字的地方传递字符串(>>> text(0.5, 0.5,'matplotlib', horizontalalignment='center', ... verticalalignment='center', ... transform=ax.transAxes) )引起的。

请参见docs