Bra*_*ndt 1 python numpy matplotlib contour colorbar
我正在尝试绘制等高线图,其中等高线水平按值的对数缩放。但是,颜色栏在颜色旁边没有显示足够的值。这是一个简单的例子。
import numpy as N
import matplotlib as M
import matplotlib.pyplot as PLT
# Set up a simple function to plot
values = N.empty((10,10))
for xi in range(10):
for yi in range(10):
values[xi,yi] = N.exp(xi*yi/10. - 1)
levels = N.logspace(-1, 4, 10)
log_norm = M.colors.LogNorm()
# Currently not used - linear scaling
linear_norm = M.colors.Normalize()
# Plot the function using the indices as the x and y axes
PLT.contourf(values, norm=log_norm, levels=levels)
PLT.colorbar()
Run Code Online (Sandbox Code Playgroud)
如果您在轮廓函数调用中将 log_norm 切换为 Linear_norm,您将看到颜色条确实有值。当然,使用 Linear_norm 意味着颜色是线性缩放的,并且该函数的轮廓分布不均匀。
我正在 Mac OS 10.7 上使用 python 2.7.2,即 matplotlib 附带的 enthought 版本。
向调用添加格式PLT.colorbar:
import numpy as N
import matplotlib as M
import matplotlib.pyplot as PLT
# Set up a simple function to plot
x,y = N.meshgrid(range(10),range(10))
values = N.exp(x*y/10. - 1)
levels = N.logspace(-1, 4, 10)
log_norm = M.colors.LogNorm()
# Currently not used - linear scaling
linear_norm = M.colors.Normalize()
# Plot the function using the indices as the x and y axes
PLT.contourf(values, norm=log_norm, levels=levels)
PLT.colorbar(format='%.2f')
PLT.show()
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
2901 次 |
| 最近记录: |