You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gnuplot绘制的自由能图中添加阶梯实线与连接虚线?

Gnuplot实现阶梯式反应坐标图(带虚线连接)

数据文件准备

先把反应中间体和能量数据保存为reaction.dat,格式如下:

O_{2}        0
O@^*_{2}    -1
OOH^*       -2
O^*         -3
OH^*        -4
H_{2}O      -5

Gnuplot脚本实现

以下是完整的绘图脚本,包含阶梯样式和虚线连接的设置:

# 配置输出终端(这里用png,可替换为pdfcairo生成矢量图)
set terminal pngcairo enhanced font 'Arial,12' size 800,600
set output 'reaction_profile.png'

# 设置图表标题与坐标轴
set title '反应坐标能量分布'
set xlabel '反应中间体'
set ylabel '相对能量 (eV)'
set yrange [-6:1]  # 根据你的能量范围调整上下限

# 自定义X轴标签:将非数值的中间体映射到1-6的数值位置
set xtics ('O_{2}' 1, 'O@^*_{2}' 2, 'OOH^*' 3, 'O^*' 4, 'OH^*' 5, 'H_{2}O' 6)
set xtics rotate by 45 right  # 旋转标签避免重叠

# 定义线条样式:实线阶梯+虚线连接
set style line 1 lc rgb '#0060ad' lw 2  # 蓝色实线阶梯
set style line 2 lc rgb '#ad0000' lw 1 dt 2  # 红色短虚线

# 绘图:先画阶梯,再叠加虚线连接各点
plot 'reaction.dat' using ($0+1):2 with steps ls 1 title '阶梯能量', \
     '' using ($0+1):2 with lines ls 2 title '能量变化'

关键参数说明

  • ($0+1):把数据的行号(从0开始计数)转换为1-6的连续数值,用来匹配X轴的标签位置
  • with steps:生成阶梯函数,默认是右阶梯(每个点向右延伸阶梯),如果需要左阶梯可改为with steps left
  • dt 2:设置虚线样式,dt(dash type)后的数字对应不同虚线模式,2是常用的短虚线
  • set xtics rotate:旋转X轴标签,避免长标签互相重叠

可选调整

  • 若需要更精细的阶梯控制,可使用steps center让阶梯以数据点为中心
  • 终端换成pdfcairo可以生成高清矢量图,适合学术论文使用

内容的提问来源于stack exchange,提问作者Courtney Brea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:50:27