2

我想显示一个覆盖有轮廓线的伪彩色图像(例如由 pcolor、pcolormesh 或 imshow 生成)。看来这三个绘图功能可以是一个数据点。这是一个例子:

import numpy
from matplotlib import pyplot,cm

f = pyplot.figure(figsize=(3,2))
ax = f.add_subplot(111)

data = numpy.ones((10,10))
data[5,5] = 2.0
data[0,:] = data[-1,:] = 0
data[:,0] = data[:,-1] = 0

X=numpy.linspace(-3,3,10)
Y=numpy.linspace(-2,2,10)

ax.imshow(data,interpolation='nearest',extent=(-3,3,-2,2),aspect='auto')
ax.contour(X,Y,data,cmap=cm.Greys)
f.subplots_adjust(bottom=.2)

pyplot.show()

这会产生(使用 TkAgg 后端 GUI):

imshow() 示例

将 imshow() 方法替换为

ax.pcolormesh(X,Y,data)

产量:

pcolormesh() 示例

在这两种情况下,轮廓线都与底层图像不匹配。

4

1 回答 1

0
import numpy
from matplotlib import pyplot,cm

f = pyplot.figure()
ax = f.add_subplot(111)

data = numpy.ones((10,10))
data[5,5] = 2.0
data[0,:] = data[-1,:] = 0
data[:,0] = data[:,-1] = 0

ax.imshow(data, interpolation='nearest')
ax.contour(data,levels=[0.0,0.5,1.0,1.5,2.5],cmap=cm.Greys)
ax.invert_yaxis()
pyplot.show()

在此处输入图像描述

于 2013-05-24T22:10:35.693 回答