Matplotlib绘制一个改变公式的图形

时间:2017-04-27 19:41:38

标签: python matplotlib plot

所以我基本上有一些像这样的数据:x = [0, 5, 12, 17]y = [0, 1, 0, 0](我的意思是那些很长的列表)。现在,我想绘制一个图表,其值005,然后从512 - > 1,然后从1217 0的值。现在我可以通过生成这样的数组来做到这一点: x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]y = [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, ...., 0]以及plt.plot(x,y)。但是对于大型数组,我猜这个效率不高,所以我想询问是否有matplotlib方法在指定范围内打印指定的值或函数公式? (例如sin(x)05以及其他更远的内容)

1 个答案:

答案 0 :(得分:1)

可以使用plt.step绘制示例数据。在这种情况下,参数where必须为where="post"

import matplotlib.pyplot as plt

x = [0, 5, 12, 17]
y = [0, 1, 0, 0]

plt.step(x, y, where='post', label='step')
plt.xticks(x)

plt.show()

enter image description here