我正在尝试使用contour
和显示带有轴标签的二维数据pcolormesh
。正如 matplotlib 用户列表中所述,这些函数遵循不同pcolormesh
的约定:期望 x 和 y 值指定单个像素的角,而contour
期望像素的中心。
使这些行为一致的最佳方法是什么?
我考虑过的一种选择是制作“中心到边缘”功能,假设数据间隔均匀:
def centers_to_edges(arr):
dx = arr[1]-arr[0]
newarr = np.linspace(arr.min()-dx/2,arr.max()+dx/2,arr.size+1)
return newarr
另一种选择是imshow
与extent
关键字集一起使用。
第一种方法不能很好地使用 2D 轴(例如,由meshgrid
or创建indices
),第二种方法完全丢弃了轴号