Hi all,
I'm trying to plot a colour bar for a scatter plot, and set the
maximum value of the plot to something arbitrary. At the moment it
always comes up as 255. How can I change this?
ax = plt.gca()
pts = ax.scatter(coords[:,0], coords[:,1], c=np.linspace(0,1,n_pts), s=16,
edgecolors='k', linewidth=1)
Also, there seem to be many different ways to make colorbars associate
with certain objects like the colorbar keyword to scatter perhaps, but
the simplest/only way to create a colorbar that I can get to work is:
ax.figure.colorbar(ax.images[0])
Is there a better way to do this so the vmin and vmax attributes of
the scatter plot get used in the colorbar?
Thanks,
Angus.
···
--
AJC McMorland
Post-doctoral research fellow
Neurobiology, University of Pittsburgh
Angus McMorland wrote:
Hi all,
I'm trying to plot a colour bar for a scatter plot, and set the
maximum value of the plot to something arbitrary. At the moment it
always comes up as 255. How can I change this?
ax = plt.gca()
pts = ax.scatter(coords[:,0], coords[:,1], c=np.linspace(0,1,n_pts), s=16,
edgecolors='k', linewidth=1)
Also, there seem to be many different ways to make colorbars associate
with certain objects like the colorbar keyword to scatter perhaps, but
the simplest/only way to create a colorbar that I can get to work is:
ax.figure.colorbar(ax.images[0])
Is there a better way to do this so the vmin and vmax attributes of
the scatter plot get used in the colorbar?
Thanks,
Angus.
Maybe I am misunderstanding you, but the ipython -pylab approach looks like this:
In [1]:x = rand(20)
In [2]:y = rand(20)
In [3]:z = rand(20)*10
In [4]:scatter?
In [5]:sc = scatter(x, y, c=z)
In [6]:sc
Out[6]:<matplotlib.collections.RegularPolyCollection object at 0x8d8dd6c>
In [7]:colorbar?
In [8]:colorbar(sc)
Out[8]:<matplotlib.colorbar.Colorbar instance at 0x92d29cc>
The more object-oriented approach with ax.scatter, etc. is essentially the same. If color mapping is used by scatter, then the collection it returns is a "mappable", which is the argument colorbar needs to make the connection.
Eric