2016-01-17 74 views
2

我有一个2D数据与我想与imshowseismic颜色映射来显示它在0.5与2之间 值来设定,但我需要的值1以匹配的白色。matplotlib调整彩条

import numpy as np 
import matplotlib.pyplot as plt 
data = np.random.random((100,100))*2 
data[data<0.5]=0.5 
plt.imshow(data,cmap='seismic') 
plt.colorbar() 

example

我所做的:

plt.imshow(data,cmap='seismic',vmin=0,vmax=2) 

enter image description here

但我不能在我的彩条的0-0.5值。

感谢

+0

可能重复:http://stackoverflow.com/questions/3373256/set-colorbar-range -in-matplotlib – ktbiz

回答

2

使用ColorBar.set_clim()

import numpy as np 
import matplotlib.pyplot as plt 
data = np.random.random((100,100))*2 
data[data<0.5]=0.5 
plt.imshow(data,cmap='seismic', vmin=0.5, vmax=2) 
c = plt.colorbar() 
c.set_clim(0, 2) 

输出:

enter image description here

+0

谢谢!正是我需要的 – user4421975