@@ -77,6 +77,16 @@ def __init__(self, test_case_widget, lb_scheme_widget):
77
77
list (lb_scheme_widget .get_case ().equation .get_fields ().keys ())
78
78
)
79
79
80
+ self .fix_axis = v .Switch (label = 'Fix axis' , v_model = False )
81
+ self .fix_axis_ymin = v .TextField (
82
+ label = 'ymin' , v_model = '' , class_ = "d-none"
83
+ )
84
+ self .fix_axis_ymax = v .TextField (
85
+ label = 'ymax' , v_model = '' , class_ = "d-none"
86
+ )
87
+ # self.fix_axis_ymin.hide()
88
+ # self.fix_axis_ymax.hide()
89
+
80
90
self .menu = [
81
91
self .simulation_name ,
82
92
self .simu_cfg ,
@@ -92,6 +102,13 @@ def __init__(self, test_case_widget, lb_scheme_widget):
92
102
self .save_fields .widget
93
103
]),
94
104
]),
105
+ v .ExpansionPanel (children = [
106
+ v .ExpansionPanelHeader (children = ['Graphic options' ]),
107
+ v .ExpansionPanelContent (children = [
108
+ self .fix_axis ,
109
+ self .fix_axis_ymin , self .fix_axis_ymax
110
+ ]),
111
+ ]),
95
112
], multiple = True , class_ = 'pa-0' )
96
113
]
97
114
@@ -146,6 +163,7 @@ def __init__(self, test_case_widget, lb_scheme_widget):
146
163
self .result .observe (self .replot , 'v_model' )
147
164
self .simu_cfg .observe (self .load_simu_cfg , 'v_model' )
148
165
self .discret ['nt' ].observe (self .change_period_by_nt , 'v_model' )
166
+ self .fix_axis .observe (self .on_fix_axis_click , 'v_model' )
149
167
150
168
test_case_widget .select_case .observe (self .stop_simulation , 'v_model' )
151
169
lb_scheme_widget .select_case .observe (self .stop_simulation , 'v_model' )
@@ -247,9 +265,20 @@ async def run_simu(self):
247
265
self .plot = Plot ()
248
266
self .iplot = 0
249
267
self .plot_output .children = [self .plot .fig .canvas ]
268
+ if self .fix_axis .v_model :
269
+ ymin = self .fix_axis_ymin .v_model
270
+ ymax = self .fix_axis_ymax .v_model
271
+ self .plot_options = {
272
+ 'set_ylim' : [ymin , ymax ]
273
+ }
274
+ else :
275
+ self .plot_options = None
250
276
251
277
self .simu .save_data (self .result .v_model )
252
- self .simu .plot (self .plot , self .result .v_model )
278
+ self .simu .plot (
279
+ self .plot , self .result .v_model ,
280
+ properties = self .plot_options
281
+ )
253
282
self .plot_output .children [0 ].draw_idle ()
254
283
255
284
ite_to_save = self .save_fields .get_save_time (
@@ -271,7 +300,10 @@ async def run_simu(self):
271
300
if nite > self .period .value :
272
301
nite = 1
273
302
self .simu .save_data (self .result .v_model )
274
- self .simu .plot (self .plot , self .result .v_model )
303
+ self .simu .plot (
304
+ self .plot , self .result .v_model ,
305
+ properties = self .plot_options
306
+ )
275
307
self .plot_output .children [0 ].draw_idle ()
276
308
###### await asyncio.sleep(0.2)
277
309
@@ -333,6 +365,17 @@ def on_pause_click(self, widget, event, data):
333
365
"""
334
366
self .pause .v_model = not self .pause .v_model
335
367
368
+ def on_fix_axis_click (self , change ):
369
+ """
370
+ fix or not the ylim axis when click
371
+ """
372
+ if self .fix_axis .v_model :
373
+ self .fix_axis_ymin .show ()
374
+ self .fix_axis_ymax .show ()
375
+ else :
376
+ self .fix_axis_ymin .hide ()
377
+ self .fix_axis_ymax .hide ()
378
+
336
379
def replot (self , change ):
337
380
"""
338
381
Update the plot.
0 commit comments