私のプロットのカラーバーをプロットのサイズに合わせる必要はなく、カスタム高さに設定したいと思います。実際、私はカラーバーの高さに、図の高さに合わせてタイトルの上にタイトルを追加したいと思います。私は他の多くの時間を求めてきたプロット、同じ高さとカラーバーを持って管理しmatplotlibのカラーバーをカスタムの高さに変更する
ax3 = divider.append_axes('right', size='10%', pad=0.3)
cb = plt.colorbar(Q, cax=ax3, ticks=[0.0, 3.0, 6.0, 9.0, 12.0, 15.0], format='%.1f')
で
、今私はそれを縮小したいと思います。
他の質問に提示された提案に続いて、get_position
で最後のプロット軸の位置を取得した後、カラーバーにadd_axes
という軸を明示的に指定することにしました。ここに私がやろうとしていることがあります。データなしカラーバーなしはちょうど私が私が期待した結果が届かないことを示すために、この例ではありません。
from __future__ import unicode_literals
import numpy as np
from scipy.interpolate import griddata
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
from matplotlib.pylab import cm
import matplotlib.colors as colors
from mpl_toolkits.axes_grid1 import make_axes_locatable, axes_size
matplotlib.rcParams.update({'font.size': 8})
fig = plt.figure()
fig.set_size_inches(6.3,6.3)
ax1 = plt.subplot(111)
divider = make_axes_locatable(ax1)
ax2 = divider.append_axes('right', size='100%', pad=0.3)
axes = [ax1, ax2]
ltypes = ['dashed', 'solid']
xi = np.linspace(-18.125, 18.125, 11)
yi = np.linspace(0, 28, 9)
xv, yv = np.meshgrid(xi, yi)
xcOdd = 0.2
zcOdd = 0.725
xcEven = 0.6
zcEven = 0.725
maskRadius = 0.15
for i in range(2):
ax = axes[i]
ax.set_xlabel('distance [m]')
if i == 0:
ax.set_ylabel('depth [m]')
if i == 1:
ax.set_yticklabels([])
ax.invert_yaxis()
ax.tick_params(direction='in')
ax.set_aspect('equal')
odd = Circle((xcOdd, zcOdd), .15, linewidth=1.2, color='k', fill=False)
even = Circle((xcEven, zcEven), .15, linewidth=1.2, linestyle=ltypes[i], color='k', fill=False)
vmax = 15.
vmin = 0.
norm = matplotlib.colors.Normalize(vmin,vmax, clip=False)
color_map = matplotlib.colors.ListedColormap(plt.cm.Greys(np.linspace(0.25, 1, 5)), "name")
ax.add_patch(odd)
pad = 0.03
width = 0.03
pos = ax2.get_position()
ax3 = fig.add_axes([pos.xmax + pad, pos.ymin, width, 0.7*(pos.ymax-pos.ymin) ])
plt.savefig('prova-vect-paper-test-2.eps', format='eps')
はなぜget_positionは間違ったバウンディングボックスを返していますか?
? – user2078621
回答を提出したユーザーは、明らかに問題を解決しなかったため、回答を削除しました。実際の問題に関しては、あなたのプロットがどれほど正確に見えるかについてもっと詳しく説明したいと思うでしょう。 (これはまた、どのような種類の人物が表示されているかによって異なりますが、アスペクト比が等しいかどうかは異なります)。 – ImportanceOfBeingErnest