2013-05-20 241 views
21

我来自Python背景下的Python和numpy以及matplotlib。我一直使用的matlab中的一个函数是imagesc。 matplotlib中是否有与此相同的地方?我知道imshowpcolor,但第一个不允许您轻松设置轴的单位,如imagesc,第二个可以设置像素边界的x和y坐标,而不是中心的像素,我不觉得直观。等价于matplotlib中的matlab imagesc?

基本上,如果我有一个图像,我想要显示的x轴和y轴标签不是像素数字,但是数值,如距离以毫米为单位,在matplotlib中最简单的方法是什么?

回答

16

你想要extent kwarg

ax.imshow(data, extent=[0, 1, 0, 1]) 

Imshow: extent and aspect一个更详细的例子。

+0

这很有帮助,谢谢,我在imshow文档中忽略了kwarg。似乎arg设置图像边缘的坐标,对吗?所以这个不解决的任务是将坐标分配给像素中心,如果这就是我想要做的。 – Matt

+1

从'extent'文档中:“轴的数据限制。默认将从零开始的行,列索引分配给像素的x,y中心。”它默认做你想做的事。这就是说,我认为它在某些时候可能在mpl版本之间发生了变化。 – tacaswell

+0

嗯,我的意思是将我选择的坐标分配给像素中心,而不仅仅是像素数。 – Matt