
本次只需要 Python 和一个 XYZ 结构文件。下面使用项目提供的 caffeine.xyz 示例,下载后保留原文件名;在 GitHub 文件页可通过 Raw 查看并保存原始文本。先在终端安装本篇使用的版本:
python -m pip install xyzrender==0.3.8把终端切换到 caffeine.xyz 所在的文件夹,依次运行下面四条命令。每条命令单独一行,--config 后面是风格名称,-o 后面是输出文件名。
xyzrender caffeine.xyz --config default --no-hy -o caffeine_default.svgxyzrender caffeine.xyz --config paton --no-hy -o caffeine_paton.svgxyzrender caffeine.xyz --config pmol --no-hy -o caffeine_pmol.svgxyzrender caffeine.xyz --config graph --no-hy -o caffeine_graph.svg运行结束后,文件夹里会得到四个 SVG 文件,可以用浏览器打开查看。它们是矢量图,后续调整版面尺寸比较方便。这里显式指定了文件名;如果省略 -o,默认输出也是 SVG,文件名为 caffeine.svg。
default | ||
paton | ||
pmol | ||
graph |
这些用途是基于本例效果给出的选择建议。实际排版时,先看图中最重要的信息能否读清,再统一同一组图的风格和图例。尤其要注意,graph 的元素配色与其他几种预设不同。
还有一个容易忽略的细节:换预设,也可能改变多重键的显示。 本例的 paton、pmol 和 graph 默认效果没有把双键画成两条线。坐标并没有因此改变。如果希望使用 pmol 的配色,同时显示程序识别的键级,可以加上 --bo:
xyzrender caffeine.xyz --config pmol --no-hy --bo -o caffeine_pmol_bonds.svg
左图使用 pmol 默认的连线显示,右图增加 --bo。两张图的输入坐标相同。
XYZ 文件主要记录元素和坐标,成键信息需要程序判断。换成自己的体系后,应检查自动识别的连接和键级;含金属或非典型成键的结构尤其需要核对。图上的线条表达应与研究对象相符。
选好风格后,把输出后缀改成 .png 就能得到位图。例如,下面这条命令使用 pmol 风格显示键级,并把画布尺寸参数设为 1600 像素:
xyzrender caffeine.xyz --config pmol --no-hy --bo -S 1600 -o caffeine_pmol_bonds.pngSVG 可以保留作后续矢量排版的源文件,PNG 方便插入图文或演示文稿。投稿时,再按期刊要求确定最终格式、尺寸和图中文字大小;像素数量本身不能代替这些要求。
换成自己的结构时,替换命令中的 caffeine.xyz,并给输出文件起一个新名字即可。如果需要显示全部氢原子,把 --no-hy 换成 --hy。遇到“找不到文件”,先检查终端当前目录和文件名;遇到“找不到 xyzrender 命令”,先确认终端已进入安装它的 Python 环境。
本篇配图在 Linux、Python 3.12、xyzrender 0.3.8 环境中生成。Windows 和 macOS 的安装环境可能有所不同,可对照项目的安装说明处理依赖问题。
下一篇继续用结构文件制作旋转动图。也欢迎留言写下你常用的结构格式,以及出图时最费时间的一步,后续案例会围绕这些具体问题展开。