【问题标题】:After saving a plotly figure to html file, can you re-read it later as a figure?将绘图图形保存到 html 文件后,您可以稍后将其作为图形重新读取吗?
【发布时间】:2021-07-26 13:34:58
【问题描述】:

我想编辑数据,可能会在图表中添加更多轨迹。 我找到了一种将 html 文件显示为图形的方法,但不能对其进行编辑。

from IPython.display import HTML
HTML(filename='file_name.html')

【问题讨论】:

    标签: python html plotly figure


    【解决方案1】:

    通常Plotly JSON 应该用于图表的(反)序列化(例如figure.write_jsonplotly.read_json)。但是,如果您只有图表的 HTML 表示形式,则将相同的 Plotly JSON 馈送到那里的plotly.js,并且可以提取它。

    仅用于演示。 plotly==5.1.0 已使用。

    import json
    import re
    
    import plotly.express
    
    
    def write():
        fig = plotly.express.bar(y=[0, 1, 1, 2, 3, 5, 8, 13, 21, 34])
        fig.write_html('plot.html', full_html=True)
        fig.write_json('plot.json')
    
    
    def read_from_json():
        return plotly.io.read_json('plot.json')
    
    
    def read_from_html():
        with open('plot.html') as f:
            html = f.read()
        call_arg_str = re.findall(r'Plotly\.newPlot\((.*)\)', html[-2**16:])[0]
        call_args = json.loads(f'[{call_arg_str}]')
        plotly_json = {'data': call_args[1], 'layout': call_args[2]}    
        return plotly.io.from_json(json.dumps(plotly_json))
    
    
    if __name__ == '__main__':
        write()
        read_from_json()
        read_from_html()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2017-10-01
      • 2018-06-06
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多