from beampy import *

# Remove quiet=True to get beampy compilation outputs
doc = document(quiet=True)

with slide('A figure from a file'):
    figure('./ressources/test_0.svg', width=400)


display_matplotlib(gcs())

"""
Explanation: figure
Insert a figure inside a slide.
Figure format can be:

pdf
svg
jpeg
png
gif
Matplotlib figure object
Bokeh figure object

From one file
End of explanation
"""


with slide('A matplotlib figure'):
    import matplotlib.pyplot as mpl
    import numpy as np

    f = mpl.figure()
    mpl.plot(np.random.rand(100), np.random.rand(100), 'o')

    figure(f, width=500)

display_matplotlib(gcs())

"""
Explanation: From Matplotlib
End of explanation
"""


with slide('An animated gif'):
    figure('../../tests/test.gif', width='50%')

"""
Explanation: From a gif
End of explanation
"""


with slide('A bokeh figure'):
    from bokeh.plotting import figure as bokfig

    p = bokfig(height=300, width=600)
    x = np.random.rand(100)
    y = np.random.rand(100)
    p.circle(x, y, legend="sin(x)")

    figure(p)

# Export the 3 slides of the presentation
save('./examples_html_outputs/figure.html')

"""
Explanation: From Bokeh
<div class="alert alert-info"><h4>Note</h4><p>No svg export available for now, check the
   html file of the prensetation</p></div>
End of explanation
"""


