mplfinance icon indicating copy to clipboard operation
mplfinance copied to clipboard

Feature Request: to show only specific figure created in `plotting.py` instead of using `plt.show` we use `fig.show`.

Open anbarief opened this issue 2 years ago • 1 comments

Running the code below, Python will pop up the window (figure) created in plotting.py and also the userfig window I created independently in this piece of code. Usually if people want to show the userfig they can just run userfig.show().

userfig,ax = plt.subplots() #I want the userfig to be only showed when I use userfig.show()

dataset = pd.read_csv('data.csv', index_col=0, parse_dates= True)
n = len(dataset)

mpf.plot(dataset, type='candle', style='yahoo')

This is due to in plotting.py it uses plt.show (which shows all figures created in your Python code, including outside the plotting.py) instead of specific figure fig.show to show only the figure created in plotting.py. The downside of using fig.show is that it does not have block argument, but i think this is not a problem, since the user can use plt.show independently outside the plotting.py if he needs the block. I propose this change in plotting.py:

BEFORE: Capture2

AFTER: Capture

anbarief avatar Mar 18 '22 09:03 anbarief

This is a very interesting idea. At first glance I like it. Will look into it further to make sure there are no unintended consequences. Thanks for the suggustion.

DanielGoldfarb avatar Mar 18 '22 10:03 DanielGoldfarb