Python:向步骤图添加文本

时间:2014-12-12 07:12:05

标签: python matplotlib

假设我正在使用此代码绘制一个非常基本的步骤图:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6] 
y = [0.5, 0.22, 0.75, 1, 0.9, 1.2]
text = ['H', 'F', 'E', 'F', 'IT', 'M']
plt.step(x, y,'k-', where='post')
plt.show()

enter image description here

如何在每个行或条的顶部显示text列表?因此,在条形图顶部的x=1 and x=2之间,'H'x=2 and x=3之间,'F'之间,等等......

1 个答案:

答案 0 :(得分:3)

您可以使用text()方法添加任意文本。默认情况下,此方法使用数据坐标,因此您可以使用y数据加上偏移量,但是您需要切掉最后一个值,因为它没有在图表中绘制。使用常规间隔,您可以使用numpy.arange()获取文本的x坐标。

import numpy as np
text_x = np.arange(1.5, 5.6)
text_y = [yval+0.06 for yval in y[:-1]]

for t, tx, ty in zip(text[:-1], text_x, text_y):
    plt.text(tx, ty, t)

bar graph with labels results from adding code in my answer to OP's question.