7
7
8
8
"""
9
9
10
+ import sys
10
11
from . import vis
11
12
import numpy as np
12
13
from plotly import graph_objs
@@ -60,6 +61,7 @@ def __init__(self, **kwargs):
60
61
self .dtype = np .float
61
62
# Set Plotly custom variables
62
63
self .figure_image_filename = "temp-plot.html"
64
+ self .use_renderer = kwargs .get ("use_renderer" , False )
63
65
64
66
# Get keyword arguments
65
67
self .display_ctrlpts = kwargs .get ('ctrlpts' , True )
@@ -73,6 +75,10 @@ def __init__(self, **kwargs):
73
75
self .trim_size = kwargs .get ('trim_size' , 1 )
74
76
self .line_width = kwargs .get ('line_width' , 2 )
75
77
78
+ # https://stackoverflow.com/a/37661854/3345747
79
+ def in_notebook (self ):
80
+ return 'ipykernel' in sys .modules
81
+
76
82
77
83
class VisCurve2D (vis .VisAbstract ):
78
84
""" Plotly visualization module for 2D curves. """
@@ -178,7 +184,9 @@ def render(self, **kwargs):
178
184
fig_display = kwargs .get ('display_plot' , True )
179
185
180
186
# Display the plot
181
- if fig_display :
187
+ if self .vconf .in_notebook () or self .vconf .use_renderer :
188
+ fig .show ()
189
+ elif fig_display :
182
190
fig .write_html (file = self .vconf .figure_image_filename if fig_filename is None else fig_filename )
183
191
else :
184
192
fig .write_image (file = self .vconf .figure_image_filename if fig_filename is None else fig_filename )
@@ -315,7 +323,9 @@ def render(self, **kwargs):
315
323
fig_display = kwargs .get ('display_plot' , True )
316
324
317
325
# Display the plot
318
- if fig_display :
326
+ if self .vconf .in_notebook () or self .vconf .use_renderer :
327
+ fig .show ()
328
+ elif fig_display :
319
329
fig .write_html (file = self .vconf .figure_image_filename if fig_filename is None else fig_filename )
320
330
else :
321
331
fig .write_image (file = self .vconf .figure_image_filename if fig_filename is None else fig_filename )
@@ -473,7 +483,9 @@ def render(self, **kwargs):
473
483
fig_display = kwargs .get ('display_plot' , True )
474
484
475
485
# Display the plot
476
- if fig_display :
486
+ if self .vconf .in_notebook () or self .vconf .use_renderer :
487
+ fig .show ()
488
+ elif fig_display :
477
489
fig .write_html (file = self .vconf .figure_image_filename if fig_filename is None else fig_filename )
478
490
else :
479
491
fig .write_image (file = self .vconf .figure_image_filename if fig_filename is None else fig_filename )
@@ -602,7 +614,9 @@ def render(self, **kwargs):
602
614
fig_display = kwargs .get ('display_plot' , True )
603
615
604
616
# Display the plot
605
- if fig_display :
617
+ if self .vconf .in_notebook () or self .vconf .use_renderer :
618
+ fig .show ()
619
+ elif fig_display :
606
620
fig .write_html (file = self .vconf .figure_image_filename if fig_filename is None else fig_filename )
607
621
else :
608
622
fig .write_image (file = self .vconf .figure_image_filename if fig_filename is None else fig_filename )
0 commit comments