私はいくつかのソースからのデータをプロットしていて、複数のx軸、できればリンクに見られるようなオフセットが必要です。x軸の長さを可変にして、同じ図に多くのプロットを配置できるようにしたいと思います。私がこれまでに行ったことは次のとおりです。
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
host = host_subplot(111, axes_class=AA.Axes,yscale='log')
plt.subplots_adjust(bottom=0.25)
par1 = host.twiny()
offset = 60
new_fixed_axis = par1.get_grid_helper().new_fixed_axis
par1.axis['bottom'] = new_fixed_axis(loc='bottom',
axes=par1,
offset=(0, -60))
host.set_xlim(200, 350)
host.set_ylim(1050, 100)
par1.set_xlim(0, 1)
host.set_xlabel('Temperature (K)')
host.set_ylabel('Pressure (hPa)')
par1.set_xlabel('Relative Humidity (%)')
p1, = host.plot(T,P)
p2, = host.plot(pT,P)
p2, = par1.plot(RH,P)
したがって、軸をドロップダウンさせることができますが、私の人生では、軸を実際に水平方向に圧縮する方法を理解することはできません(たとえば、上のリンクされた図の青い軸のように)。
私の質問は、これをどのように行うことができるかです(もしあれば)?
@ Oz123
これが私が持っているものです:
host = host_subplot(111, axes_class=AA.Axes,yscale='log')
plt.subplots_adjust(bottom=0.25)
par1 = host.twiny()
new_fixed_axis = par1.get_grid_helper().new_fixed_axis
cax1 = plt.axes(axisbg='none',frameon=False)
cax1 = plt.add_axes(plt.get_position(), frameon=False)
par1.axis['bottom'] = new_fixed_axis(loc='bottom',
axes=cax1,
offset=(0, -60))
私が着いたとき:
cax1 = plt.add_axes(plt.get_position(), frameon=False)
以前のx/y軸が消え、cax1のみの灰色の画面が残ります。
申し訳ありませんが、matplotlibを入手しているところなので、まだかなりの初心者です。