Bagaimana cara mengintegrasikan subchart dalam satu sumbu matplotlib?
Melihat output dari backtrader , saya dapat melihat bahwa tampaknya ada fitur di matplotlib untuk mengintegrasikan beberapa subchart dalam satu plot:

Screenshot menunjukkan salah satu tokoh - tampaknya tanpa subplot matplotlib - yang memiliki tiga subcharts ( broker
, trades
, price data
).
Saya tahu cara membuat subplot dengan matplotlib - tetapi ini bukan yang saya cari.
Saya ingin tahu bagaimana seseorang dapat membuat dalam satu sumbu (apakah ini istilah matplotlib yang tepat?) Beberapa subchart yang berbagi sumbu x yang sama.
Jawaban
Anda dapat melakukan apa yang ditunjukkan gambar dengan menentukan di height_ratios
antara subplot.
beberapa subchart yang memiliki sumbu x yang sama.
Anda dapat merujuk ke matplotlib.pyplot.subplots tentang sharex
dansharey
Jika subplot memiliki sumbu x bersama di sepanjang kolom, hanya label centang x dari subplot bawah yang dibuat.
Demikian pula, ketika subplot memiliki sumbu y bersama di sepanjang baris, hanya label centang y dari subplot kolom pertama yang dibuat.
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()

Jika Anda tertarik dengan cara memberi anotasi pada label y, Anda dapat melihat jawaban saya ini .
Ada perpustakaan yang sangat baik untuk visualisasi saham, dll. Awalnya disertakan dalam matplotlib, tetapi sekarang menjadi perpustakaan independen, saya akan memberikan jawaban yang disederhanakan untuk contoh di Github. Rumusnya dapat ditemukan di sini .
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')
