Fig1_page.pdf
Tavotto for Matplotlib
在画布上改图, 脚本一行不动。
Tavotto 打开的是 matplotlib 已经画好的图:标题、图例、曲线、版面,直接在画布上调。改动单独保存,脚本原样保留。
这就是它印在纸上的尺寸。
选择电脑版本
先在浏览器里试试 Intel 芯片 Mac 版 其他版本与校验文件
免费开源 · 纯本地离线运行
Windows 安装说明
在 Windows 上安装
由于开源代码签名证书正在审核中,Windows 可能会弹出 SmartScreen 拦截提示,点击“更多信息”并选择“仍要运行”即可。
所有安装包均通过官方 GitHub Releases 发布并附带 SHA-256 校验码。
装好之后,Tavotto 在你自己的电脑上跑。图和脚本不会上传。
点中哪里,就看清哪里。
认得图里的每个对象
Tavotto 读到的是 matplotlib 画出来的对象,不是像素。标题、刻度标签、坐标轴、曲线,都能单独点选。
-
axes_0.title标题 -
axes_0.xlabel轴标题 -
axes_0.ylabel轴标题 -
axes_0.lines_0曲线 -
axes_0.lines_1曲线 -
axes_0.legend图例 -
axes_0.xticks刻度组 -
axes_0.yticks刻度组
axes_0.title 标题
fontsize
9.0 → 12.0 pt
改动单独保存
每次改动都单独记录,脚本一个字不改。数据更新后在 Tavotto 里重跑脚本,改过的地方自动套回去。
正在还原 1 处修改 完全一致
fig1_kinetics.py
-
"""示例 1:两条动力学曲线 + 图例(最典型的可参数化面板)。 -
-
在 Tavotto 里双击这张图,可以直接点中标题、坐标轴标签、图例、任意一条曲线, -
改字号/颜色/线宽或拖动位置——改动存成 override,本文件一个字都不会被动。 -
""" -
import numpy as np -
-
import matplotlib.pyplot as plt -
from paper_style import COL_1, PALETTE, save -
-
-
def main(): -
t = np.linspace(0, 60, 200) -
fast = 1 - np.exp(-t / 8) -
slow = 1 - np.exp(-t / 24) -
-
fig, ax = plt.subplots(figsize=(COL_1, COL_1 * 0.72)) -
ax.plot(t, fast, color=PALETTE[0], lw=1.2, label="Catalyst (k = 0.125 $\\mathrm{min^{-1}}$)") -
ax.plot(t, slow, color=PALETTE[1], lw=1.2, ls="--", label="Blank (k = 0.042 $\\mathrm{min^{-1}}$)") -
ax.set_xlabel("Reaction time (min)") -
ax.set_ylabel("Conversion") -
ax.set_title("Reaction kinetics") -
ax.set_xlim(0, 60) -
ax.set_ylim(0, 1.05) -
ax.legend(loc="lower right") -
save(fig, "Fig1_kinetics") -
-
-
if __name__ == "__main__": -
main()
fig1-overrides.json
{ "index": 0, "patch": { "gid": "axes_0.title", "prop": "fontsize", "value": 12.0 }, "hash_after": "sha256:56591382a70626624a8df4ae9a5a17a9358e0844f65a030f2bd0d36ee6905bb9", "warnings": [], "moved_gids": [ "axes_0.title" ], "bbox_after": { "axes_0.title": [ 0.32596875, 0.03180555555555542, 0.37306249999999996, 0.06730855305989585 ] }}
毫米级多子图拼版
几张图排在一页上,以毫米计;这一页是 150 × 112.5 mm。缩放一张图,字号跟着缩。
150 × 112.5 mm
- (a)
Fig1_kinetics.pdf80 × 57.6 mm 0.9163 - (b)
Fig2_correlation.pdf59.0894 × 51.573 mm 0.9646 - (c)
Fig2_yield.pdf58.4941 × 47.279 mm 0.9745
投稿前检查
字号、线宽和版式有问题,导出前就会提醒。
课题组出版规范 v1 1.0.0
- error 已清除 (a) (b) (c) 图内文字的最终有效字号 7.72pt 不大于绝对下限 8pt
- suggestion 已清除 (a) (b) 规范建议 legend_text 的字重为 bold(当前 normal)
- warn 已清除 (a) (b) (c) 线宽最终有效值 1.20pt 不在规范档位 0.5/0.75/1/1.5pt 上 线宽最终有效值 0.53pt 不在规范档位 0.5/0.75/1/1.5pt 上
- suggestion 已清除 (a) (b) 坐标轴标题「Conversion」不是规范的「Title (unit)」形式
- warn 已清除 (a) (b) 图例字号最终有效值 7.72pt 不在规范的 8.5–9pt 之间
- suggestion 已清除 (a) 2 条曲线全部没有 marker,黑白打印或色觉障碍读者难以区分,可考虑点线图或不同线型
- suggestion 已清除 (b) 有拟合曲线但没有置信区间填充带——投稿时通常要求给出拟合的不确定度
error 1 · warn 2 · not_verifiable 0 · suggestion 4 · blocking true error 0 · warn 1 · not_verifiable 0 · suggestion 4 · blocking false
- 1 raised 12 → 9 pt blocking true
- 2 raised 22 → 9.5 / 10 pt blocking false
PDF 与 PNG 同源
PDF 里的文字是真文字,公式也一样;PNG 由同一份 PDF 栅格化,两种格式是同一张图。
-
Fig1_page.pdf150 × 112.5 mm · 425.2 × 318.9 pt 291 个真实文字字符 · 96.0 KB -
Fig1_page.png3544 × 2658 px · 600 dpi 306.2 KB -
Fig1_page_proof.json课题组出版规范 v1 1.0.0 error 1 · warn 2 · not_verifiable 0 · suggestion 4 · blocking true
发布短片
在画布上改图, 脚本一行不动。
开源,AGPL-3.0 许可。你用它做出的图与 PDF 完全属于你。
Tavotto 完全开源免费,直接下载即可使用,不需要留下任何信息。我们正在构想一个功能更强的高级版,目前特性、定价与排期都还在评估中。如果你感兴趣,可以留下邮箱——有确切进展时我们会通知你一次,绝无其他打扰。
仅发一次通知,绝无垃圾邮件