导出与嵌入
保存和分享图形
导出与嵌入 是 CoddyKit 上的免费 Python Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Python Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Python Academy 课程共包含 4 节课。
分享您的成果
完成的图表只有在别人能够看到时才有用。Plotly 图表可以保存为交互式 HTML、导出为静态图像,或嵌入网页和报告。
选择哪种格式,取决于受众是否需要交互性。
保存交互式 HTML
fig.write_html('chart.html') 会写入一个保留全部交互功能的独立文件。在任何浏览器中打开它,都可以进行缩放、悬停和平移,无需安装 Python。
这是分享实时可探索图表的最佳格式。
选择文件名
生成大量导出文件时,命名很重要。带时间戳且经过短横线化处理的名称可以避免冲突。这只是普通的字符串处理。
title = 'Q3 Sales Report!'
slug = ''.join(ch.lower() if ch.isalnum() else '_' for ch in title)
slug = '_'.join(p for p in slug.split('_') if p)
print(slug + '.html')静态图像导出
对于 PDF、幻灯片或电子邮件,您需要静态图像。fig.write_image('chart.png') 可以生成 PNG、JPEG、SVG 或 PDF。这要求安装 kaleido 引擎。
静态图像会失去交互性,但可以嵌入到任何位置。
选择格式
根据用途匹配格式:
- HTML 实时探索、网页
- PNG/JPEG 光栅图,适合幻灯片和电子邮件
- SVG 矢量图,打印时放大不会模糊
- PDF 文档
使用一个小型决策表可以快速做出选择。
use_case = 'print'
format_map = {'web': 'html', 'slides': 'png', 'print': 'svg', 'document': 'pdf'}
print('Best format for', use_case, '->', format_map[use_case])嵌入网页
如果要嵌入现有网站而不生成完整的 HTML 文件,请使用 fig.to_html(full_html=False, include_plotlyjs='cdn')。它只会返回图表的 HTML 片段,您可以将其粘贴到模板中。
从 CDN 加载 plotly.js 可以减小页面体积。
引入库
交互式 HTML 需要 plotly.js 库。include_plotlyjs 的选项如下:
True将其打包(体积较大,但可离线使用)'cdn'链接到 CDN(体积较小,但需要互联网)False假定页面已经加载该库
请根据离线需求和页面体积进行选择。
导出分辨率
对于静态图像,可以使用 width、height 和 scale 控制尺寸和清晰度。scale=2 会使像素密度翻倍,从而在高分辨率屏幕上生成清晰的图像。
width, height, scale = 800, 600, 2
print('Output pixels:', width * scale, 'x', height * scale)JSON 往返转换
可以使用 fig.to_json() 将图表序列化,并使用 plotly.io.from_json() 将其重建。这对于缓存图表,或在服务器与浏览器之间传输图表很有帮助。
JSON 完整描述了数据和布局。
可复现性
分享导出文件时,也要保留生成它的脚本。PNG 无法重新编辑,但代码可以使用新数据重新生成图表。应将代码而不是图像视为可信的来源。
嵌入笔记本和 Markdown
在 Jupyter 中,如果图形是单元格中的最后一个表达式,它会自动以内嵌方式显示。对于静态文档,请导出图像并从 Markdown 中引用它。对于实时文档,则应嵌入 HTML 片段。
如果读者能从探索中受益,请选择交互式 HTML;如果读者只需要查看,则选择静态图像。
快速检查
测试您对导出的掌握程度。
回顾
您学会了共享图形:
write_html用于交互式独立文件write_image(搭配 kaleido)用于 PNG/SVG/PDFto_html(full_html=False)用于嵌入片段,include_plotlyjs用于控制库- 使用
scale生成高分辨率图像,并保留源代码以确保可复现性
常见问题解答
「导出与嵌入」课时是免费的吗?
是的 — 「导出与嵌入」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Python Academy 课程的其余内容,请升级到 CoddyKit PRO。 Python Academy 课程共包含 4 节课。
「导出与嵌入」这节课中我会学到什么?
保存和分享图形 你通过在浏览器中直接运行的动手代码来练习 Python Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Python Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Python Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「导出与嵌入」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Python Academy 课中编写并运行代码吗?
能。每节 Python Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。