【发布时间】:2021-07-26 13:34:58
【问题描述】:
我想编辑数据,可能会在图表中添加更多轨迹。 我找到了一种将 html 文件显示为图形的方法,但不能对其进行编辑。
from IPython.display import HTML
HTML(filename='file_name.html')
【问题讨论】:
我想编辑数据,可能会在图表中添加更多轨迹。 我找到了一种将 html 文件显示为图形的方法,但不能对其进行编辑。
from IPython.display import HTML
HTML(filename='file_name.html')
【问题讨论】:
通常Plotly JSON 应该用于图表的(反)序列化(例如figure.write_json 和plotly.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()
【讨论】: