开源 · 本机运行 · AGPL-3.0-only
在画布上改图,
脚本一行不动。
Tavotto 打开的是 matplotlib 已经画好的图:标题、图例、曲线、版面,直接在画布上调。改动单独保存,脚本原样保留;导出之前,再按期刊规范检查一遍。
fig1_kinetics.py 在「源文件与高级」里,一个字节没动。
别再为了挪一次图例重跑脚本
投稿前的最后一段路通常是这样:改一行、重跑、看一眼、再改。来回二十遍,而要改的都是些看得见却不好用语言描述的东西——图例往左三毫米、刻度标签小一号、图 (b) 和图 (a) 对齐。
另一条路是把 PDF 拖进矢量编辑器手工收尾。改起来直观,代价是这张图和画出它的代码分了家:数据一更新、图一重出,手工改的那些全部作废。
Tavotto 把这两头接上。打开图、在画布上改、导出。脚本原地不动,改动单独保存,每一步都可撤销。
在图里改
双击一张图,Tavotto 把你的脚本跑一遍,并把那个 matplotlib Figure 留在内存里。从这一刻起你改的就是这张图本身:标题、坐标轴标签、某条刻度、某条曲线、图例、脚本画的箭头——从左边的树里选,或者直接在画布上点——改字号、颜色、字重、线型,或者干脆拖到别处去。
拖和调都是即时的:图跟着光标一帧一帧地动,matplotlib 只在你松手时跑一次定稿。命中判据跟着真实画出来的路径走,而不是外接矩形——点曲线选中的就是曲线,不是它周围那一大片空白。
每一次修改都以 override 的形式记在排版里,下次打开这张图时重新跑一遍脚本再回放上去。想把改动落进磁盘上的图文件,「写回原始文件」是一个显式动作,并且可以按项目整个锁死。
导出与投稿前检查
导出 PDF 时,每张原始矢量图按原样整块嵌入,文字仍然是可选中、可搜索的真文字。PNG 与 TIFF 由同一份 PDF 栅格化,位图里的就是 PDF 里的内容。
在写出任何文件之前,Tavotto 会按出版规范 profile 检查一遍,字号一律按最终物理尺寸判。结论分四档:阻断在你明确确认之前不让导出;警告一定展示;无法核验是真的查不了的那些,需要人来看;建议绝不替你做决定。
渲染与导出都在你的电脑上
渲染、合成、导出都是本地进程。Tavotto 不会把你的图、脚本、项目文件或科研数据上传到项目维护者运营的任何服务。联网只发生在几类明确的情形:检查更新、你要求准备环境或安装依赖时下载软件包、你主动调用的改图助手,以及你同意之后才发送的匿名用量统计(默认不发)。详见隐私说明。
- 桌面版自带 Python不需要自己装 Python;安装包内置常用科学栈,装完即可渲染。
- 支持的系统Windows x64;macOS Apple Silicon(macOS 14.0 及以上);macOS Intel(macOS 15.0 及以上)。
- Linux 与 Windows ARMLinux 没有安装包,可经 PyPI 在浏览器里用(Beta);Windows ARM 未构建、未验证。
也可以从 AI 编程助手里用
Tavotto 提供 Codex 插件,也有面向 Cursor、Claude Code 等 AI 编辑器的接入方式(实验阶段)。这些内容变化较快,请以项目 README 为准:README.zh-CN(GitHub)。