如何在gnuplot中创建完整表格变量并保留表头与首列
Gnuplot:创建包含表头与完整列的表格变量
问题1:如何在gnuplot中创建包含完整表格的变量?
在gnuplot中,可通过set table命令配合plot ... with table将输出写入表格变量。若要生成包含字符串列、自定义表头的完整表格,需手动控制表头生成和每行内容的输出逻辑,而非依赖默认的数值列输出行为。
问题2:如何让$Table包含表头行,同时保留$Data的第一列(字符串类型),使其成为完整表格?
需分两步实现:
- 手动定义表头行并写入目标表格变量
- 遍历原始数据,保留第一列字符串,同时计算并添加所需的衍生列
完整实现代码
reset session $Data <<EOD Temp ST_01 ST_02 ST_03 ST_04 ag7 -0.0295167 0.0553285 0.00883727 0.392553 bc9 -0.0513702 0.0355596 -0.0165404 0.252816 cc9 -0.0303508 -0.00354388 0.0428582 0.0882037 cd3 -0.0239757 -0.0363891 0.0227775 0.270722 EOD # 初始化表格变量,写入自定义表头 set print $Table print "Temp ST_01/ST_02 ST_03" set print # 追加处理后的数据行:保留第一列字符串,计算衍生列 set table $Table append plot $Data u (strcol(1)):(column("ST_01")/column("ST_02")):(column("ST_03")) \ w table format "%s\t%f\t%f" unset table # 输出验证结果 print $Table
代码说明
set print $Table:直接将表头行写入$Table,执行后用set print关闭输出流set table $Table append:以追加模式写入数据,避免覆盖已写入的表头strcol(1):获取第一列的原始字符串值,保证非数值列被完整保留format "%s\t%f\t%f":指定输出格式,匹配“字符串+数值+数值”的列类型w table:确保输出以表格结构写入变量,保持列对齐
内容的提问来源于stack exchange,提问作者magfan
相关产品推荐
相关产品推荐

