Files
gromacs_docker/script/S112D/plot_potential.sh
2024-10-05 14:41:34 +08:00

64 lines
1.7 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 检查 Gnuplot 是否已安装
if ! command -v gnuplot &> /dev/null; then
echo "Gnuplot is not installed. Attempting to install..."
# 尝试自动安装 Gnuplot
if [[ "$(uname -s)" == "Linux" ]]; then
# 检查是否是基于 Debian/Ubuntu 的系统并使用 apt 安装
if command -v apt &> /dev/null; then
sudo apt update && sudo apt install -y gnuplot
# 检查是否是基于 RedHat/CentOS 的系统并使用 yum 安装
elif command -v yum &> /dev/null; then
sudo yum install -y gnuplot
else
echo "Unsupported package manager. Please install Gnuplot manually."
exit 1
fi
else
echo "Unsupported operating system. Please install Gnuplot manually."
exit 1
fi
# 再次检查是否安装成功
if ! command -v gnuplot &> /dev/null; then
echo "Gnuplot installation failed. Please install it manually."
exit 1
fi
echo "Gnuplot installed successfully."
fi
# 检查输入参数数量
if [ "$#" -ne 2 ]; then
echo "Usage: $0 input.xvg output.svg"
exit 1
fi
# 获取输入和输出文件名
input_file=$1
output_file=$2
# 检查输入文件是否存在
if [ ! -f "$input_file" ]; then
echo "Error: Input file '$input_file' not found!"
exit 1
fi
# 使用 Gnuplot 生成输出文件
gnuplot << EOF
set terminal svg size 800,600
set output '${output_file}'
# 设置标题和轴标签
set title 'Potential Energy Minimization'
set xlabel 'Step'
set ylabel 'Potential (kJ/mol)'
# 读取数据文件并绘制使用第1列和第2列忽略注释行
plot '${input_file}' using 1:2 with lines title 'Potential Energy (kJ/mol)'
EOF
echo "Plot generated: ${output_file}"