@@ -184,7 +184,10 @@ def _plot_html(figure_or_data, show_link, link_text, validate,
184
184
id = plotdivid , script = script ,
185
185
height = height , width = width )
186
186
187
- return plotly_html_div , plotdivid , width , height , plotdivid
187
+ if download :
188
+ return plotly_html_div , plotdivid , width , height , plotdivid
189
+ else :
190
+ return plotly_html_div , plotdivid , width , height
188
191
189
192
190
193
def iplot (figure_or_data , show_link = True , link_text = 'Export to plot.ly' ,
@@ -232,31 +235,39 @@ def iplot(figure_or_data, show_link=True, link_text='Export to plot.ly',
232
235
if not tools ._ipython_imported :
233
236
raise ImportError ('`iplot` can only run inside an IPython Notebook.' )
234
237
235
- plot_html , plotdivid , width , height , plot_id = _plot_html (
236
- figure_or_data , show_link , link_text , validate ,
237
- '100%' , 525 , global_requirejs = True , download = download_image )
238
-
239
- display (HTML (plot_html ))
240
-
241
- # Write script to download image of the plot
242
- script = ('<script>'
243
- 'function downloadimage(format, height, width,'
244
- ' filename) {{'
245
- 'var p = document.getElementById(\' {plot_id}\' );'
246
- 'Plotly.downloadImage(p, {{format: format, height: height, '
247
- 'width: width, filename: filename}});'
248
- '}};'
249
- 'if(document.readyState == \' complete\' ) {{'
250
- 'downloadimage(\' {format}\' , {height}, {width}, \' {filename}\' );'
251
- '}}'
252
- '</script>'
253
- ).format (format = format , width = _width , height = _height ,
254
- filename = filename , plot_id = plot_id )
255
- # allow time for the plot to draw
256
- import time
257
- time .sleep (1 )
258
- #inject code to download an image of the plot
259
- display (HTML (script ))
238
+ def inject ():
239
+ display (HTML (plot_html ))
240
+
241
+ # Write script to download image of the plot
242
+ script = ('<script>'
243
+ 'function downloadimage(format, height, width,'
244
+ ' filename) {{'
245
+ 'var p = document.getElementById(\' {plot_id}\' );'
246
+ 'Plotly.downloadImage(p, {{format: format, height: height, '
247
+ 'width: width, filename: filename}});'
248
+ '}};'
249
+ 'if(document.readyState == \' complete\' ) {{'
250
+ 'downloadimage(\' {format}\' , {height}, {width}, \' {filename}\' );'
251
+ '}}'
252
+ '</script>'
253
+ ).format (format = format , width = _width , height = _height ,
254
+ filename = filename , plot_id = plot_id )
255
+ # allow time for the plot to draw
256
+ import time
257
+ time .sleep (1 )
258
+ #inject code to download an image of the plot
259
+ display (HTML (script ))
260
+
261
+ if download_image :
262
+ plot_html , plotdivid , width , height , plot_id = _plot_html (
263
+ figure_or_data , show_link , link_text , validate ,
264
+ '100%' , 525 , global_requirejs = True , download = download_image )
265
+ inject ()
266
+ else :
267
+ plot_html , plotdivid , width , height = _plot_html (
268
+ figure_or_data , show_link , link_text , validate ,
269
+ '100%' , 525 , global_requirejs = True , download = download_image )
270
+ inject ()
260
271
261
272
262
273
def plot (figure_or_data ,
0 commit comments