如何减少 matplotlib 中的颜色条宽度?

新手上路,请多包涵

我有一个我在 ipython notebook 中使用两个导入的数据集和一个我为 x 轴制作的数组制作的图,但颜色条对我来说有点厚。有什么办法可以让它变瘦吗?

 #import packages
import numpy as np              #for importing u array
import matplotlib.pyplot as plt #for plotting
%matplotlib inline

th = np.loadtxt("MT3_th.dat") #imports data file- theta pert.
pi = np.loadtxt("MT3_pi.dat") #imports data file- pressure pert.
k  = np.loadtxt("MT3_z.dat")  #imports data file- height
i = np.linspace(-16.,16.,81)  #x-axis array
x, z = np.meshgrid(i, k)

th[th == 0.0] = np.nan #makes zero values for th white
clevels = [0.5, 1, 1.5, 2, 2.5, 3.]

fig = plt.figure(figsize=(12,12))
thplot = plt.contourf(x, z, th, clevels, cmap=plt.cm.Reds, vmin=0., vmax=3.)

ax2 = fig.add_subplot(111)
piplot = ax2.contour(x, z, pi, 6, colors='k')

plt.axis([-16.,16, 0, 16.])
plt.xticks(np.arange(-16,16.001,4))
plt.yticks(np.arange(0,16.001,2))
plt.colorbar(pad=0.05, orientation="horizontal")
plt.xlabel("x (km)", size=15)
plt.ylabel("z (km)", size=15)
plt.title("Initial temp. & pres. perturbations (K, Pa)", size=20)
plt.grid()
plt.show()

在此处输入图像描述

原文由 ChristineB 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 412
1 个回答

寻找相同的答案我想我发现了一些更容易与当前版本的 Matplotlib 兼容的东西来减少颜色条的宽度。可以使用 matplolib.figure 函数的“ratio”选项(参见 http://matplotlib.org/api/figure_api.html )。这是一个例子:

 import numpy as np
from matplotlib import pyplot as plt

# generate data

x = np.random.normal(0.5, 0.1, 1000)
y = np.random.normal(0.1, 0.5, 1000)

hist = plt.hist2d(x,y, bins=100)

plt.colorbar(aspect=20)
plt.colorbar(aspect=50)

在此处输入图像描述

原文由 Nicolas Martin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题