python_matplotlib画图

做动力学模拟分析时,xvg文件画图常用origin,当分析的文件多时,每个xvg文件都需要画图,或者不同模拟需要比较时也通过图比较,再手动画图让人比较焦躁,所以就在网上查询利用python画图。

其中xvg文件经过 grep 命令处理,处理后的disatance/54HN-363010.xvg可以直接被python读取

grep -v '@' 54HN-363010.xvg | grep -v '#' > disatance/54HN-363010.xvg
import matplotlib.pyplot as plt

X, Y = [], []

for line in open('54HN-363O10.xvg','r'):
    values = [float(s) for s in line.split()]
    X.append(values[0])
    Y.append(values[1])
plt.plot(X, Y, color='k', linestyle='dashed',marker='o')
plt.title("54VAL-UNK distance", fontsize=14)
plt.xlabel("Time (ps)")
plt.ylabel("54VAL-HN_UNK-O10 (nm)")
plt.show()

得到下面这样的图:
在这里插入图片描述

import matplotlib.pyplot as plt

filename = '54HN-363O10.xvg'
filename1 = '223HH-363O8.xvg'
X, Y = [], []
X1, Y1 = [], []

with open(filename, 'r') as f:
    lines = f.readlines()
    for line in lines:
        value = [float(s) for s in line.split()]
        X.append(value[0])
        Y.append(value[1])

with open(filename1, 'r') as f1:
    lines = f1.readlines()
    for line in lines:
        value = [float(s) for s in line.split()]
        X1.append(value[0])
        Y1.append(value[1])

plt.plot(X, Y, color='black', linestyle='dashed', marker='o', label='54VAL-UNK')
plt.plot(X, Y1, color='red', linestyle='dashed', marker='o', label='223HH-UNK')
plt.legend(loc= 'upper right')
plt.xlabel("Time (ps)")
plt.ylabel("Distance (nm)")

plt.show()

得到的图是:
在这里插入图片描述
将两个xvg进行比较的python脚本比较笨重,还没想出怎么可以读取两个文件,所以就直接粘贴复制前面的命令,执行两次。后面有优化后的命令在补充到里面。

[参考博文]
(https://blog.csdn.net/Mr_Cat123/article/details/78828634)(https://blog.csdn.net/qq_35077107/article/details/97619685)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值