Back link auto-y-ranging to ohlc chart from vlm overlay fsp
parent
b11dfbb008
commit
7bc67671b6
|
@ -814,7 +814,8 @@ class ChartPlotWidget(pg.PlotWidget):
|
||||||
# a better one?
|
# a better one?
|
||||||
def mk_vb(self, name: str) -> ChartView:
|
def mk_vb(self, name: str) -> ChartView:
|
||||||
cv = ChartView(name)
|
cv = ChartView(name)
|
||||||
cv.linkedsplits = self.linked
|
# link new view to chart's view set
|
||||||
|
cv.linked = self.linked
|
||||||
return cv
|
return cv
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
|
@ -1179,19 +1180,27 @@ class ChartPlotWidget(pg.PlotWidget):
|
||||||
)
|
)
|
||||||
pi.hideButtons()
|
pi.hideButtons()
|
||||||
|
|
||||||
# cv.enable_auto_yrange(self.view)
|
|
||||||
cv.enable_auto_yrange()
|
|
||||||
|
|
||||||
# compose this new plot's graphics with the current chart's
|
# compose this new plot's graphics with the current chart's
|
||||||
# existing one but with separate axes as neede and specified.
|
# existing one but with separate axes as neede and specified.
|
||||||
self.pi_overlay.add_plotitem(
|
self.pi_overlay.add_plotitem(
|
||||||
pi,
|
pi,
|
||||||
index=index,
|
index=index,
|
||||||
|
|
||||||
# only link x-axes,
|
# only link x-axes and
|
||||||
|
# don't relay any ``ViewBox`` derived event
|
||||||
|
# handlers since we only care about keeping charts
|
||||||
|
# x-synced on interaction (at least for now).
|
||||||
link_axes=(0,),
|
link_axes=(0,),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# connect auto-yrange callbacks *from* this new
|
||||||
|
# view **to** this parent and likewise *from* the
|
||||||
|
# main/parent chart back *to* the created overlay.
|
||||||
|
cv.enable_auto_yrange(src_vb=self.view)
|
||||||
|
# makes it so that interaction on the new overlay will reflect
|
||||||
|
# back on the main chart (which overlay was added to).
|
||||||
|
self.view.enable_auto_yrange(src_vb=cv)
|
||||||
|
|
||||||
# add axis title
|
# add axis title
|
||||||
# TODO: do we want this API to still work?
|
# TODO: do we want this API to still work?
|
||||||
# raxis = pi.getAxis('right')
|
# raxis = pi.getAxis('right')
|
||||||
|
|
|
@ -624,6 +624,8 @@ async def open_vlm_displays(
|
||||||
# built-in vlm which we plot ASAP since it's
|
# built-in vlm which we plot ASAP since it's
|
||||||
# usually data provided directly with OHLC history.
|
# usually data provided directly with OHLC history.
|
||||||
shm = ohlcv
|
shm = ohlcv
|
||||||
|
ohlc_chart = linked.chart
|
||||||
|
|
||||||
chart = linked.add_plot(
|
chart = linked.add_plot(
|
||||||
name='volume',
|
name='volume',
|
||||||
shm=shm,
|
shm=shm,
|
||||||
|
@ -639,6 +641,9 @@ async def open_vlm_displays(
|
||||||
# the curve item internals are pretty convoluted.
|
# the curve item internals are pretty convoluted.
|
||||||
style='step',
|
style='step',
|
||||||
)
|
)
|
||||||
|
ohlc_chart.view.enable_auto_yrange(
|
||||||
|
src_vb=chart.view,
|
||||||
|
)
|
||||||
|
|
||||||
# force 0 to always be in view
|
# force 0 to always be in view
|
||||||
def multi_maxmin(
|
def multi_maxmin(
|
||||||
|
|
Loading…
Reference in New Issue