Hi,
I hope someone can answer this colorbar related question.
I have a plot, to which I am drawing a colorbar. The standard colorbar ranges from the values -1 (blue) over 0 (green) to e.g. 1(red). So far so good.
But now I want to change the colorbar that it shows only the colors between 0 and 1. What I mean is: the colorbar should start at value 0 (with green) and go to 1(red), and leave the original plot unchanged.
I ad some example code below to make it more clear. In the example plot created, only the values between 0 and 1 are interesting and should be shown in the colorbar, but not -1 (blue). But I want the original plot unchanged!
If anyone has an idea that would be great.
Cheers
Alex
import numpy as np
import matplotlib
import pylab as py
f = py.figure()
create toy image
im = -np.ones((100,100))
for x in range(20,80):
for y in range(20,80):
im[x,y] = random.random()
create imshow subplot
ax = f.add_subplot(111)
result = ax.imshow(im)
Create the colorbar
axc, kw = matplotlib.colorbar.make_axes(ax)
cb = matplotlib.colorbar.Colorbar(axc, result)
Set the colorbar
result.colorbar = cb
py.show()
Hi,
I hope someone can answer this colorbar related question.
I have a plot, to which I am drawing a colorbar. The standard colorbar ranges from the values -1 (blue) over 0 (green) to e.g. 1(red). So far so good.
But now I want to change the colorbar that it shows only the colors between 0 and 1. What I mean is: the colorbar should start at value 0 (with green) and go to 1(red), and leave the original plot unchanged.
I ad some example code below to make it more clear. In the example plot created, only the values between 0 and 1 are interesting and should be shown in the colorbar, but not -1 (blue). But I want the original plot unchanged!
If anyone has an idea that would be great.
Cheers
Alex
import numpy as np
import matplotlib
import pylab as py
f = py.figure()
create toy image
im = -np.ones((100,100))
for x in range(20,80):
for y in range(20,80):
im[x,y] = random.random()
create imshow subplot
ax = f.add_subplot(111)
result = ax.imshow(im)
Create the colorbar
axc, kw = matplotlib.colorbar.make_axes(ax)
cb = matplotlib.colorbar.Colorbar(axc, result)
Set the colorbar
result.colorbar = cb
py.show()
2010/6/28 Alexander Dietz <alexanderdietz1@...982...>:
I have a plot, to which I am drawing a colorbar. The standard colorbar
ranges from the values -1 (blue) over 0 (green) to e.g. 1(red). So far so
good.
But now I want to change the colorbar that it shows only the colors between
0 and 1. What I mean is: the colorbar should start at value 0 (with green)
and go to 1(red), and leave the original plot unchanged.
Ah, it wasn't that easy (for me).
Friedrich
help.py (1.31 KB)
Hi Friedrich,
thanks a lot, that was exactly what I was looking for…
Alex
···
On Mon, Jun 28, 2010 at 23:00, Friedrich Romstedt <friedrichromstedt@…287…> wrote:
2010/6/28 Alexander Dietz <alexanderdietz1@…120…982…>:
I have a plot, to which I am drawing a colorbar. The standard colorbar
ranges from the values -1 (blue) over 0 (green) to e.g. 1(red). So far so
good.
But now I want to change the colorbar that it shows only the colors between
0 and 1. What I mean is: the colorbar should start at value 0 (with green)
and go to 1(red), and leave the original plot unchanged.
Ah, it wasn’t that easy (for me).
Friedrich