plotly / plotly-sphinx-gallery

Demo of gallery of examples using plotly for visualization and sphinx-gallery
MIT License
6 stars 1 forks source link

Can I use fig.show()? #1

Open pfebrer opened 4 years ago

pfebrer commented 4 years ago

Hi!

I want to use sphinx-gallery to document a package that uses plotly as the visualization tool. As in this repo, I used the custom image scrapper, but I wonder why it does not capture the output of

fig.show()

and you have to do

plotly.io.show(fig)

Or is it just me that I have the problem?

The reason I'd like the first one to work is because it feels weird to write an example with plotly.io.show(fig), since nobody is going to actually use this in "real life".

Thank you!

pfebrer commented 4 years ago

Since I have plotly's Figure wrapped in my own class and sphinx-gallery looks for the _repr_html_ method of the returned object I just added the following method to my class:

class MyClass:
    ...

    def _repr_html_(self):
        return plotly.io.to_html(self.figure, full_html=False) # (self.figure is a plotly Figure)

and then

plot = MyClass()

plot

works well as a workaround without needing the plotly custom scraper, for anyone who might read this.

However, I still would prefer that plot.show (which calls plot.figure.show()) would work so that I could display more than one plot in a code block. Any chance this can work? :)

pfebrer commented 4 years ago

I just realised that _repr_html_ is already implemented for plotly >= 4.8.0 and I was using 4.7.1, sorry for all the comments :)