하나의 matplotlib 축에 하위 차트를 통합하는 방법은 무엇입니까?
backtrader 의 출력을 보면 matplotlib에 여러 하위 차트를 단일 플롯에 통합하는 기능이있는 것 같습니다.

스크린 샷 쇼 하나의 그림 - 분명히 어떤하기 matplotlib의 줄거리없이 - 세 subcharts있다 ( broker
, trades
, price data
).
matplotlib를 사용하여 서브 플롯을 만드는 방법을 알고 있지만 이것은 제가 찾고있는 것이 아닙니다.
동일한 x 축을 공유하는 여러 개의 하위 차트를 하나의 축 (이것이 올바른 matplotlib 용어입니까?)으로 생성하는 방법을 알고 싶습니다.
답변
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 레이블에 주석을 추가하는 방법에 관심이 있으시면 이 답변을 참조하십시오 .
주식 등의 시각화를위한 훌륭한 라이브러리가 있습니다. 원래는 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')
