我正在尝试创建 Graphviz 图像,但不是保存图像并加载到网页中,而是将其作为 SVG 传递。
它的工作原理如下:
from flask import Flask
from graphviz import Graph
app = Flask(__name__)
@app.route('/svgtest')
def svgtest():
chart_data = Graph()
chart_data.node('H', 'Hello')
chart_data.node('W', 'World')
chart_data.edge('H', 'W')
chart_output = chart_data.pipe(format='svg')
return render_template('svgtest.html', chart_output=chart_output)
Run Code Online (Sandbox Code Playgroud)
在我的 HTML 页面中我有
<embed type="image/svg+xml" src={{ chart_output|safe }} />
Run Code Online (Sandbox Code Playgroud)
但是输出不正确
任何帮助都会很棒,我开始自言自语,但即使这样也没有帮助。
谢谢。
您可以像这样使用 svg:
{{ chart_output|safe }}
Run Code Online (Sandbox Code Playgroud)
另外,您还可以使用 png 格式:
@app.route('/')
def svgtest():
chart_data = Graph()
chart_data.node('H', 'Hello')
chart_data.node('W', 'World')
chart_data.edge('H', 'W')
chart_output = chart_data.pipe(format='png')
chart_output = base64.b64encode(chart_output).decode('utf-8')
return render_template('svgtest.html', chart_output=chart_output)
Run Code Online (Sandbox Code Playgroud)
和这样的html:
<img src="data:image/png;base64,{{chart_output|safe}}" />
Run Code Online (Sandbox Code Playgroud)
快乐编码!
| 归档时间: |
|
| 查看次数: |
2565 次 |
| 最近记录: |