In an HTML table, how to add text beside plot in jupyter notebook using python?

前端 未结 1 856
梦毁少年i
梦毁少年i 2021-01-25 19:15

Any ideas on how to create a 1 X 2 HTML table where cell {0} is a matplotlib plot and cell {1} is a text description for Python 3.X?

import matplotlib.pyplot as          


        
1条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-01-25 19:29

    It seems that you've read the document and are on the right track by using BytesIO. Two more steps to do are just:

    1. Use a proper tag for you plot
    2. Encode your figdata using Base64. Then decode them into str

    Here is a complete and verifiable (in Jupyter notebook) example modified from your code:

    from base64 import b64encode
    from io import BytesIO
    
    from IPython.display import display, HTML
    import matplotlib.pyplot as plt
    
    def add_split_screen(fig, text, iwidth=None):
        figdata = BytesIO()
        fig.savefig(figdata, format='png')
        iwidth = ' width={0} '.format(iwidth) if iwidth is not None else ''
        datatable = '
    {1}
    '.format(b64encode(figdata.getvalue()).decode(), text) display(HTML(datatable)) fig, ax = plt.subplots(1,1, figsize=(6,4)) ax.plot([1,2,3]) text = '

    Special Chart:


    Description of chart will go here.' add_split_screen(fig, text, iwidth='500px')

    0 讨论(0)
提交回复
热议问题