我想要繪製一個圖形,這是matplotlib中的繪圖網格內的一塊陰謀。我正在使用matplotlib 1.1.1和python 2.7.4。使用Gridspec在網格中繪製網格的問題
我下面的文檔在此頁面上的例子:http://matplotlib.org/users/gridspec.html#a-complex-nested-gridspec-using-subplotspec
fig = plt.figure(figsize=(11, 10))
levels2=[2,8,32,64,128, 256, 512]
bins=100
def plotcmd(ax, x, y, bins, levels):
cmap=cm.Greys
cmap.set_gamma(0.8)
h, xe, ye = np.histogram2d(x, y, bins=70)
cont = ax.contourf(h.T, extent=[xe[0],xe[-1], ye[0],ye[-1]], levels=levels,
zorder=2, cmap=cmap)
cont = ax.contour(h.T, extent=[xe[0],xe[-1], ye[0],ye[-1]], levels=levels, zorder=3,
colors=('black', 'black', 'black','black'))
# set limits
plt.xlim(-1, 5)
plt.ylim(13, 2)
for i in xrange(4):
inner_grid = gridspec.GridSpecFromSubplotSpec(1, 3,
subplot_spec=outer_grid[i], wspace=0.0, hspace=0.0)
for j in xrange(3):
ax = plt.Subplot(fig, inner_grid[j])
plotcmd(ax, data1[:,0]-data1[:,1], data1[:,1], bins, levels2)
ax.set_xticks([])
ax.set_yticks([])
fig.add_subplot(ax)
所以這應該創建一個具有四個外板各託管三個內部面板的人物。它幾乎是正確的,但最終情節有兩個問題:
1.)最終的情節,所以當我== 3和j == 2,不堅持我在plotcmd中設置的限制,就好像它們不存在一樣
2.)在四個大面板下面正在繪製一個圖。
我不明白爲什麼,如果所有跡象都表明我正確地迭代了外部和內部網格,那麼x和y限制不會影響最終圖。
感謝您的任何幫助。
Alexa的
1)1.1是一個非常舊的版本,並且這些文檔是針對較新版本編寫的,請在1.3 2)上嘗試您的代碼,否則請將其減少到複製問題所需的最小代碼量。 – tacaswell