给定一组n'坐标,说x=[0, 1, 2, 3, 4]
和n-1'值' y = [10, 20, 30, 40]
我想绘制一个分段常数函数,该函数等于10,0 <0。 x <1,等于20,1 <&lt; 1。 x&lt; 2等
换句话说,x-list包含单元格边界的坐标,而y-list表示单元格内该函数的值。绘制此类数据的标准方法是什么?
我也对非常规网格和2d图感兴趣。
答案 0 :(得分:2)
对于1d数据,您可以使用条形图。第一个参数是条形的中心,第二个参数是它们的高度。
x=np.asarray([0, 1, 2, 3, 4])
centers=(x[1:]+x[:-1])/2.0
plt.bar(centers,[10, 20, 30, 40],width=1)
对于二维数据,您可以使用pcolor
和colorbar
# x coordinates of the cells
x=np.asarray([0, 1, 2, 3, 4])
# y coordinates of the cells
y=np.asarray([0,1,2])
# values inside the cells
c = np.asarray([[10, 20, 30, 40], [50,60,70,80]])
# plot the cells
plt.pcolor(x,y,c)
# plot a bar to match colors with values
plt.colorbar()
要绘制非常规网格,pcolor
可以将x和y的2d数组作为参数:您可以为每个单元格指定x和y坐标。
请注意,pcolormesh
绘制的内容与pcolor
相同,但更快,这可能很有用。