Plotting a Swing chart over the generic OHLC chart
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- python
調査の方向性
例にある mpf.plot と mpf.make_addplot の呼び出しから始め、説明されている daily および swing の DataFrames を使って不一致を再現します。addplot データが OHLC の x 軸にどのように整列されるかを追跡します。完了の条件は、sparse な swing 系列を x/y 次元エラーなしで通常の OHLC チャートに重ね合わせられ、要求された swing の可視化と一致することです。
索引モデルが issue の本文から書いたものです。
説明
I'm want to visualize a swings/price movement chart over a normal OHLC chart, e.g., like the attachment below.

I have written the following code:
def get_swing_dataframe(daily: DataFrame):
last_high = -999999999
last_low = abs(last_high)
raw_dftb = []
dip = True
for row in daily.iterrows():
close = row[1]["Close"]
mark = False
if dip:
if close > last_high:
dip = False
mark = True
last_high = close
else:
if close < last_low:
dip = True
mark = True
last_low = close
if mark:
raw_dftb.append(row[1])
df = pd.DataFrame(raw_dftb)
df.index.name = "Date"
return df
def main():
daily = pd.read_csv("ES___CCB.csv", index_col=0, parse_dates=True)
daily.index.name = "Date"
swing = get_swing_dataframe(daily)
mpf.plot(
daily,
style="binance",
type="ohlc",
addplot=[mpf.make_addplot(swing, type="line", color="g", panel=1)],
)
if __name__ == "__main__":
main()
The issue here is that the "Swing" dataframe does not have a data entry for every single date, it only marks where and when the price changes, spitting out the following error:
File "D:\Andaconda3\lib\site-packages\matplotlib\axes\_axes.py", line 1605, in plot
lines = [*self._get_lines(*args, data=data, **kwargs)]
File "D:\Andaconda3\lib\site-packages\matplotlib\axes\_base.py", line 315, in __call__
yield from self._plot_args(this, kwargs)
File "D:\Andaconda3\lib\site-packages\matplotlib\axes\_base.py", line 501, in _plot_args
raise ValueError(f"x and y must have same first dimension, but "
ValueError: x and y must have same first dimension, but have shapes (6232,) and (23,)
How can I achieve this?
Recap: I want to visualize a swings/price movement chart over a normal OHLC chart, e.g., like the attachment below.
- 主要言語
- Python
- スター
- 4.4k
- フォーク
- 678
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
matplotlib/mplfinance のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
matplotlib/mplfinance#672 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 10/100
matplotlib/mplfinance#700 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
matplotlib/mplfinance#695 ·
-
question
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
matplotlib/mplfinance#691 · コメント 1 件 ·
-
question
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
matplotlib/mplfinance#690 · コメント 5 件 ·
matplotlib/mplfinance の issue をすべて見る
似ている issue
-
docs pydanty:is-working
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
pydantic/pydantic-ai#8863 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
run-llama/llama_index#23278 ·
メンテナーはふだん 2 日以内に返信
-
documentation from-review-extraction github-actions priority: low severity:nit
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
LearningCircuit/local-deep-research#6946 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
oracle/langchain-oracle#323 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
tenstorrent/tt-metal#58057 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信