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:
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.
Running the code below, Python will pop up the window (figure) created in
plotting.py
and also theuserfig
window I created independently in this piece of code. Usually if people want to show theuserfig
they can just runuserfig.show()
.This is due to in
plotting.py
it usesplt.show
(which shows all figures created in your Python code, including outside theplotting.py
) instead of specific figurefig.show
to show only the figure created inplotting.py
. The downside of usingfig.show
is that it does not haveblock
argument, but i think this is not a problem, since the user can useplt.show
independently outside theplotting.py
if he needs theblock
. I propose this change inplotting.py
:BEFORE:![Capture2](https://user-images.githubusercontent.com/35247692/158976902-67c9aa2a-adba-4ad0-ac10-68d371b79c5a.PNG)
AFTER:![Capture](https://user-images.githubusercontent.com/35247692/158976897-eac1df4b-cbbe-416b-b1d7-f72300142a5d.PNG)