#!/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}"