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

如何使用Gnuplot基于XRD极图矩阵数据绘制极坐标二维热力图

基于Gnuplot的XRD极坐标热力图(极图)绘制方案

方案1:直接使用80×720矩阵数据绘制

直接适配你现有的矩阵数据格式,核心是将矩阵的行列索引映射到极坐标的方位角、径向参数:

# 初始化极坐标基础配置
set polar
set angles degrees  # 明确使用角度单位,匹配你的测量参数定义
set size square     # 强制画布为正方形,避免极坐标被拉伸为椭圆
set grid polar 30   # 极坐标方位角网格每30度显示一条,可按需调整

# 配置径向轴(对应倾斜角psi)参数
set rrange [35:75]  # 径向范围匹配psi的35°~75°测量范围
set rtics 10        # 径向刻度每10°显示一条,可按需调整

# 配置方位角(对应旋转角phi)参数
set trange [0:360]  # 方位角范围匹配phi的0°~360°测量范围
set ttics 30        # 方位角刻度每30°显示一条,可按需调整

# 配置pm3d热力图参数
set pm3d interpolate 2,2 ftriangles   # 开启插值适配极坐标三角剖分,让色块更平滑
set pm3d map
unset surface
set view map

# 核心绘制命令:行列索引映射为实际角度
splot "你的矩阵数据文件名" matrix u ($2*0.5):($1*0.5 + 35):3 w pm3d notitle

参数说明:$2为矩阵列索引,乘以0.5得到0°359.5°的phi值;`$1`为矩阵行索引,乘以0.5加35得到35°74.5°的psi值,第三列为强度值做颜色映射。

方案2:使用80个独立psi文件绘制

如果你更倾向用单psi角度的独立文件,可通过循环批量加载数据绘制:

# 前半部分极坐标、pm3d配置和方案1完全一致
set polar
set angles degrees
set size square
set rrange [35:75]
set trange [0:360]
set pm3d interpolate 2,2 ftriangles
set pm3d map
unset surface
set view map

# 循环读取80个psi文件,psi从35°到74.5°步长0.5
splot for [i=0:79] sprintf("你的psi文件前缀_%d.dat", i) u 1:(35 + i*0.5):2 w pm3d notitle

参数说明:假设单个psi文件第一列为phi角度,第二列为强度值,你可以根据自己的文件名命名规则调整sprintf的格式字符串。

常见效果调整建议

  • 色块出现断层时,可调高set pm3d interpolate后的插值参数,或者添加set dgrid3d 720,80强制网格化
  • 颜色映射不符合预期时,用set cbrange [最小强度:最大强度]锁定颜色条范围
  • 需要导出高清图片时,在脚本开头添加set terminal pngcairo size 1000,1000 enhanced font "Arial,10"和set output "xrd极图.png"即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:39:03