サブチャートを1つのmatplotlib軸に統合する方法は?
Aug 20 2020
バックトレーダーの出力を見ると、matplotlibには、複数のサブチャートを1つのプロットに統合する機能があるようです。

スクリーンショットショー一桁-明らかに任意のmatplotlibののサブプロットなし- 3つのサブチャートを持っています(broker
、trades
、price data
)。
私はmatplotlibでサブプロットを作成する方法を知っていますが、これは私が探しているものではありません。
同じx軸を共有するいくつかのサブチャートを1つの軸(これは正しいmatplotlib用語ですか?)で作成する方法を知りたいです。
回答
2 Ynjxsjmh Aug 21 2020 at 06:46
height_ratios
サブプロット間を定義することで、図が示すことを実行できます。
同じx軸を共有するいくつかのサブチャート。
とについてmatplotlib.pyplot.subplotsを参照できますsharex
sharey
サブプロットが列に沿って共有x軸を持っている場合、下部のサブプロットのx目盛りラベルのみが作成されます。
同様に、サブプロットが行に沿って共有y軸を持っている場合、最初の列のサブプロットのy目盛りラベルのみが作成されます。
import matplotlib.pyplot as plt
fig, axs = plt.subplots(3, 1, sharex='col',
gridspec_kw={'width_ratios': [1], 'height_ratios': [2, 2, 10],
'hspace': 0, 'wspace': 0})
# avoid overlay
axs[1].set_yticks([0, 0.5, 1])
axs[1].set_yticklabels(["", "0.5", ""])
plt.show()

yラベルに注釈を付ける方法に興味がある場合は、私のこの回答を参照してください。
1 r-beginners Aug 21 2020 at 08:08
株式などを視覚化するための優れたライブラリがあります。元々はmatplotlibに含まれていましたが、現在は独立したライブラリであるため、Githubの例に簡単に答えます。式はここにあります。
import pandas as pd
import mplfinance as mpf
idf = pd.read_csv('data/SPY_20110701_20120630_Bollinger.csv', index_col=0, parse_dates=True)
df = idf.loc['2011-07-01':'2011-12-30',:]
mpf.plot(df, volume=True, tight_layout=True, figscale=0.75, style='checkers')
