/drawXPM

A python script for drawing filled contours from xpm file by gmx densmap.

Primary LanguageTclMIT LicenseMIT

drawXPM是用于绘制由GROMACS中densmap命令得到的xpm文件的工具。相较于其他的同类型xpm文件绘图工具,drawXPM有着灵活、便捷的特点,无需绘图者有任何编程基础,点开drawXPM的可执行文件即可作图。

使用方法

基本操作

目录下的DrawXPM.pyDrawXPM软件的python源代码。drawXPM.exe为其的可执行文件。双击drawXPM.exe就可以运行该软件。运行该软件后,首先会看到以下的内容:

Draw filled contours from xpm file by gmx densmap.
Version 1.0, release date: 2024-Jun-25
Programmed by Jian Zhang (jian_zhang@cug.edu.cn)

Please enter the path to your xpm file

随后,直接将需要绘图的xpm文件拉进软件,然后会出现以下的内容:

 0  x_label: x (nm)
 1  y_label: z (nm)
 2  style of colorbar: jet
 3  alpha: 1
 4  the number of color in colorbar: 100
 5  Whether to turn on coordinate scale: False
 6  dpi: 300
 7  style file: ./style/no-latex.mplstyle, ./style/my.mplstyle
 8  the label of colorbar: Density
 9  Whether to display the color bar scale: False
10  the range of values: (0, 1)
11  Whether to transpose the data: False
 d  start to draw
  • 0:修改图像的x轴坐标名称,默认值从xpm文件中读取
  • 1:修改图像的y轴坐标名称,默认值从xpm文件中读取
  • 2:修改色彩条样式,默认为jet样式
  • 3:修改图像的透明度(值域为0至1),默认为1
  • 4:修改色彩条上颜色的个数,该值越大颜色的色彩变化越平滑,默认为100
  • 5:是否显示x轴和y轴坐标名称,默认为不显示
  • 6:生成图像的分辨率,默认为300
  • 7:设置作图格式文件路径,默认为./style/no-latex.mplstyle./style/my.mplstyle
  • 8:设置色彩条标签,默认为Density
  • 9:是否显示色彩条刻度,默认不显示
  • 10:设置色彩条的值域
  • 11: 是否考虑周期性边界条件对数据进行转换,默认不转换
  • d:开始作图

色彩条样式的修改

色彩条样式可支持以下的样式。

此图无法显示
此图无法显示
此图无法显示
关于色彩条样式的详细情况,请访问Choosing Colormaps in Matplotlib

绘图效果

  • 采用gmx自带的xpm2ps命令作图
    图片无法显示
  • 采用plot_xpm作图
    图片无法显示
  • 采用DrawXPM作图
    图片无法显示

关于选项11的说明

若打开该选项,程序会对输入的数据进行下述的处理。

图片无法显示
程序会在原始数据的基础上构造一个矩阵,并按照上图所示构造出一个大矩阵。最终输出的数据将是大矩阵中间部分的数据(即使用虚线框住的部分)。 以下为对同一组数据不考虑周期性边界条件和考虑周期性边界条件进行了对比。
  • 不考虑周期性边界条件

    图片无法显示
  • 考虑周期性边界条件

    图片无法显示

更新日志

  • [2024-Jul-16] 增加菜单中10选项,能够使用户自己选择色彩条值域。
  • [2024-Jul-23] 考虑到分子动力学中的周期性边界,增加菜单中的11,使作图时能够考虑到这一特点。

鸣谢

在开发DrawXPM的过程中,主要使用到了以下的Python开源模组

此外,还参考了以下Python脚本或开源模组的处理方式

在此,对上述模组或脚本的开发者表示感谢。

许可证

DrawXPM基于MIT许可证开源。这意味着您可以自由地使用,修改和分发代码。