Вот ссылка CJoint на 20-секундное видео моего экрана:
https://www.cjoint.com/c/NJvuQytKilA
Поэтому мое решение, которое не работает, состоит в том, чтобы использовать два мультикурсора:
- один, чтобы выполнять всю вертикаль на каждом подграфике
- один, чтобы сделать всю горизонталь на каждом подграфике
[img]https://i .sstatic.net/0kG9bXcC.png[/img]
- на участке, на котором находится мышь
- и еще один подсюжет, который соответствует тому же значению Y, на котором у меня наведена мышь
[img]https: //i.sstatic.net/Lhgfs3Qd.png[/img]
import tkinter as tk
from matplotlib.widgets import MultiCursor
import mplfinance as mpf
import yfinance as yf
import datetime as dt
import pandas as pd
df = pd.DataFrame(yf.Ticker("^NDX").history(interval="1d", start= dt.datetime.today()-dt.timedelta(days=500), end=dt.date.today()-dt.timedelta(days=0))[["Open","High","Low","Close","Volume"]])
fig = mpf.figure(style="yahoo", figsize=(15,10))
nb_subplot = 3
for i in range(nb_subplot):
if i == 0:
axlist = [fig.add_subplot(nb_subplot,1,1)]
else:
axlist.append(fig.add_subplot(nb_subplot, 1, i+1, sharex=axlist[0]))
multicursor= []
for i in range(nb_subplot):
if i == 0:
multicursor.append(MultiCursor(fig.canvas, axlist, vertOn=True, color='black', lw=0.5, useblit=True))
#multicursor.append(Cursor(axlist, horizOn=True, vertOn=False, useblit=True))
multicursor.append(MultiCursor(fig.canvas, [axlist], horizOn=True, color='black', lw=0.5, useblit=True))
mpf.plot(df,type="candle",ax=axlist[0],volume= False)
#returnfig = True,
mpf.show()
Подробнее здесь: https://stackoverflow.com/questions/791 ... al-subplot