当前位置: 首页 > news >正文

plotXVG:分子模拟数据顶刊级可视化工具 安装与实用教程

plotXVG是一款基于 Matplotlib 开发的轻量级 Python 绘图工具,专为分子模拟数据可视化设计,可快速、可复现地生成刊级折线图、散点图、热图与等高线图,同时支持命令行与 Python API 双调用方式,开源免费且适配多格式数据,不仅能高效处理 GROMACS 输出的 xvg 文件,也可应用于各类 1D/2D 数据的可视化分析。本文将从环境安装、基础用法到进阶定制,全面介绍该工具的实操方法。

1. 一键安装

python -m pip install plotxvg

2. 基础用法

2.1 命令行用法

  • 单文件基础绘图:直接读取 GROMACS 输出 xvg 文件,生成默认散点图
plotxvg -f energy.xvg
  • 折线图生成:添加-ls/--linestyle参数指定线型,支持solid(实线)、dashed(虚线)、dashdot(点划线)、dotted(点线)四种类型。
plotxvg -f energy.xvg -ls solid
  • 期刊级图表保存:添加-save/--save参数指定保存路径与格式(支持 PDF、PNG 等,推荐期刊矢量图 PDF),配合-noshow/--noshow参数可后台生成图表,不弹出可视化窗口,适配批量处理场景。
plotxvg -f energy.xvg -ls solid -save ./result/energy_plot.pdf -noshow

2.2 Python API 用法:

当需要将可视化与数据预处理、模型训练等步骤结合时,可通过 Python API 调用 plotXVG,核心函数为plotxvg.plot(),参数与命令行一一对应,布尔类型参数(如panels、noshow)直接使用True/False赋值,无需加引号。

  • 极简示例:
import plotxvg # 调用plot函数,读取两个xvg文件,分别设置线型,开启子图模式并保存 plotxvg.plot(["rmsd.xvg", "temperature.xvg"], ls=["solid", "dashed"], # 为两个文件分别设置实线、虚线 panels=True, # 开启子图布局,默认上下排列 save="./result/combine_plot.pdf") # 保存组合图表

3. 进阶定制:精细化参数设置,满足刊级绘图要求

plotXVG 提供超 50 个可调参数,涵盖图表样式、坐标轴、子图布局、统计分析、2D 密度可视化等维度,可实现全方面精细化定制,以下为分子模拟研究中最常用的进阶功能与实操方法,适配期刊对图表格式的严格要求。

3.1 多文件子图布局与轴标签优化

处理 RMSD、温度、压力等多组关联数据时,可通过-panels/--panels参数生成子图,支持top(上下布局,默认)与side(左右布局)两种方式;配合-sharelabel/--sharelabel参数可实现子图轴标签共享,仅在最后一行显示 X 轴标签、第一列显示 Y 轴标签,让图表结构更简洁。

# 两个文件左右子图布局,共享轴标签,全局缩放字体大小 plotxvg -f rmsd.xvg temp_press.xvg -ls solid solid -panels side -sharelabel -allfs 8

3.2 图表字体与尺寸定制

期刊对图表字体、字号通常有明确要求,plotXVG 支持全局与单独参数调整,核心参数包括:-font/--fontname设置全局字体(如 Arial、Times New Roman,适配期刊常用字体);-allfs/--allfontsizes全局缩放所有字体大小;-axfs/--axislabelfontsize-tfs/--titlefontsize-lfs/--legendfontsize可分别调整轴标签、标题、图例的字体大小。

# 设置全局字体为Arial,全局字号8,轴标签字号10,图例字号9,保存为PDF plotxvg -f energy.xvg -ls solid -font Arial -allfs 8 -axfs 10 -lfs 9 -save energy.pdf

3.3 相关性分析

在机器学习模型训练验证、模拟数据与参考数据相关性分析中,添加-stats/--stats参数,工具可自动计算并在图例中标注均方根偏差(RMSD)决定系数(R²),无需手动统计;配合-eqax/--equalaxes参数可设置等比例坐标轴,让相关性散点图更规范。

# 相关性分析,显示RMSD与R²,设置等比例坐标轴 plotxvg -f train_test_coulomb.xvg -stats -eqax -save correlation_analysis.pdf

4. 2D 密度可视化与吉布斯自由能景观生成

针对分子模拟主成分分析(PCA)、轨迹分析等产生的二维数据,plotXVG 提供专属的 2D 密度可视化功能,支持热图、等高线图生成,并可一键计算吉布斯自由能景观,是分子模拟数据解读的核心功能。

  • 2D 热图生成:添加-heatmap/--heatmap参数,-bins/--bins指定分箱数(默认 50),-cmap/--colormap设置 Matplotlib 色板(如 rainbow、viridis)
# 生成2D热图,50个分箱,使用rainbow色板 plotxvg -f pca_2d.xvg -heatmap -bins 50 -cmap rainbow -save pca_heatmap.pdf
  • 等高线图生成:添加-contour/--contour参数,-levels/--levels指定等高线层级;针对小样本数据集,可添加-kde/--kde参数开启核密度估计,提升密度分析准确性,-showdots/--showdots可在等高线图上叠加原始散点。

# 等高线图+核密度估计+原始散点,20个等高线层级 plotxvg -f pca_2d.xvg -contour -kde -showdots -levels 20 -save pca_contour.pdf
  • 吉布斯自由能景观计算:在 2D 密度分析基础上,添加-gibbs/--gibbs参数,工具可根据概率密度公式计算吉布斯自由能,-temp/--temperature指定绝对温度(默认 298.15K),可精准适配分子动力学模拟的自由能分析。
# 生成吉布斯自由能等高线图,温度300K,核密度估计+原始散点 plotxvg -f pca_2d.xvg -contour -gibbs -temp 300 -kde -showdots -save free_energy_landscape.pdf

5. 批量绘图

面对数十上百个 xvg 数据文件,可利用命令行通配符*批量读取文件,配合-noshow/--noshow后台生成图表,实现批量可视化处理;也可结合 Python 循环语句,通过 API 方式实现自定义命名与批量保存,大幅提升大数据场景下的可视化效率。

# 批量读取当前目录下所有xvg文件,生成实线折线图,后台运行不显示窗口 plotxvg -f *.xvg -ls solid -noshow

还有更多详细用法介绍可以移步到代码公开页面:
https://github.com/AlexandriaChemistry/plotXVG

http://www.jsqmd.com/news/487110/

相关文章:

  • CC工具箱使用指南:【获取要素图层的符号系统Json文本】
  • 让旧Mac再战几年:使用 OpenCore Legacy Patcher 升级不支持的 macOS(完整教程)
  • Java 从入门到精通(五):封装、继承、多态到底怎么串起来理解?
  • 对比一圈后! 千笔 VS speedai,全领域适配降AI率平台首选
  • 拖延症福音 AI论文软件 千笔·专业论文写作工具 VS 灵感风暴AI
  • 桥梁裂缝混凝土剥落钢筋腐蚀外漏缺陷识别分割数据集labelme格式5341张5类别
  • J6-2 图的概念与遍历
  • YOLO11 改进 - 主干网络_ ConvNeXtV2全卷积掩码自编码器网络:轻量级纯卷积架构破解特征坍塌难题,提升特征多样性
  • SEO Machine:解锁高效的SEO内容创作之旅!
  • windows操作系统上的Java版更新
  • 开源数据同步中间件(Dbsyncer)简单玩一下 mysql to mysql 的增量,全量配置
  • 【开题答辩全过程】以 基于.NET某高校学生宿舍管理系统为例,包含答辩的问题和答案
  • 探索博世电驱仿真模型:同步与异步电机的奇妙之旅
  • 靠谱的宁波展厅设计厂家
  • 云服务与订阅制的幻象:当“狼外婆”遇上了“小绵羊”
  • 超实用机器视觉框架:VS2019 一键编译,开启视觉检测新旅程
  • MacBook Pro 2014 Mid 无法升级 macOS 12?微信、Trae、OpenClaw 无法安装的终极解决方案(OpenCore 教程)
  • 个人博客地址自测试
  • 双馈风电机组并网仿真建模:四机九节点系统中的虚拟惯量与下垂控制技术,超速减载与桨距角控制调频策...
  • 基于主从博弈的智能小区代理商定价及电动汽车充电管理策略研究:实现双赢的双层优化策略
  • 13.jmeter性能测试高并发及高频率弱压力及持续高并发
  • E (921) sdmmc_sd: sdmmc_init_spi_crc: sdmmc_send_cmd_crc_on_off returned 0x106 E (921) vfs_fat_sdmmc
  • MYSQL order by , group by练习
  • 从命令行到认知时代:GitHub 指令使用与自动化工作流深度实践
  • YOLO11 改进 - SPPF模块 _ 替代SPPF, Mona多认知视觉适配器(CVPR 2025):打破全参数微调的性能枷锁:即插即用的提点神器
  • AI时代,最珍贵的能力从不是会用AI,而是这一种
  • YOLO11 改进 - 主干网络 集成Mamba-YOLO(AAAI 2025),Mamba-YOLO11-B替换骨干,破解全局依赖建模难题,实现高效实时检测
  • 从零开始写一个微信小程序:完整代码实战指南(入门篇)
  • 关于Lambda表达式
  • SocialEcho vs Hootsuite:哪款更适合出海多账号社媒运营?