I'm not sure I understand, what you want, but maybe the following goes towards
# initialise two matrices with data
matrix1 = ones((4,4))
matrix2 = 2*ones((4,4))
# and one empty matrix
matrix3 = zeros((4, 4))
for i in xrange(len(matrix3[:, 0])): # all rows
for j in xrange(len(matrix3[0, :])):# all columns
if i > j: # if below diagonal take matrix1
matrix3[i, j] = matrix1[i, j]
elif i < j: # if above diagonal take matrix 2
matrix3[i, j] = matrix2[i, j]
In : print matrix3
array([[ 0., 2., 2., 2.],
[ 1., 0., 2., 2.],
[ 1., 1., 0., 2.],
[ 1., 1., 1., 0.]])
With that matrix3 holds elements of matrix2 in the upper part and elements of
matrix1 below the diagonal. This one could be plotted with contour or
Is that what you want?
best regards Matthias
On Wednesday 13 May 2009 18:12:53 Bala subramanian wrote:
I tried this but what happens is it is not overlapping, actually when i
call contour function for the second time with matrix2, the plot is updated
with contour of matrix 2.
What i finally get is the contour of matrix 2 as the final plot. What i am
trying to do is that, i shd have one plot, with upper left panel for
matrix1 and lower right panel for matrix2 with their separation along the
diagonal. I have attached an example picture like which i am trying to
On Wed, May 13, 2009 at 5:33 PM, Armin Moser > > <armin.moser@...2495...>wrote:
> Bala subramanian schrieb:
> > hai Armin,
> > I looked through the examples. I could not find any example of
> > two differnet countours on the same plot.
> I think the first example filled contours does exactly that. You want to
> show two contours over each other in the same plot.
> You just have to substitute the Z in cset_1 with matrix_1 and in cset_2
> with matrix_2. Of course it will be helpful to use different colormaps.
> E.g. a grey one for the underlying contour and a colored for the top one.
> x = arange(5)
> y = arange(5)
> x,y = meshgrid(x,y)
> Z = x**2+y**2
> #contourf(Z,cmap=cm.binary) # filled contours gray
> contour(Z) # not filled contours colored
> error = rand(x.shape,x.shape) # to generate a new Z
> Z = (x+error)**2+(y+error)**2
> contour(Z) # colored not filled contours