I am using the following code to generate some contour plots,
from pylab import meshgrid,cm,imshow,contour,clabel,colorbar,axis,title,show
import numpy as np
from numpy import exp,arange
import matplotlib.pyplot as plt
def z_func(x,y):
func = 3.0*(1.0 - x)**2*np.exp(-x**2 - (y+1.0)**2) - 10.0*(x/5.0 - x**3 - y**5)*np.exp(-x**2 - y**2) - 0.33*np.exp(-(x + 1.0)**2 - y**2)
return func
x = arange(-4.0,4.0,0.1)
y = arange(-4.0,4.0,0.1)
X,Y = meshgrid(x, y) # grid of point
Z = z_func(X, Y)
fig = plt.figure(figsize=(10,6))
im = imshow(Z,cmap=cm.RdBu) # drawing the function
# adding the Contour lines with labels
cset = contour(Z,arange(-1,1.5,0.2),linewidths=2,cmap=cm.Set2)
clabel(cset,inline=True,fmt='%1.1f',fontsize=10)
colorbar(im) # adding the colobar on the right
# latex fashion title
title('peaks function')
show()
I stole it from somehwere on StackExchange. I am having a difficult time simply getting the x and y axes to display the correct domains, [-4,4]. There are a number of solutions already posted that do not work for me such as Change values on matplotlib imshow() graph axis and correcting the axes using imshow but neither keep the image the way it is and relabels the axes. Help!!!