如何在gnuplot中设置严格正方形绘图边框而非矩形
解决Gnuplot绘图边框严格正方形的问题
核心问题分析
你之前尝试的set terminal pngcairo size 400,400 enhanced square报错,是因为pngcairo终端的square参数用法有误,且手动设置的边距导致绘图区域宽高比不一致,无法形成严格正方形。
修改方案
通过以下两步调整即可实现严格正方形边框:
- 修正终端与绘图区域设置:先定义正方形尺寸的输出画布,再强制绘图区域为正方形,确保坐标轴单位长度视觉一致
- 匹配边距比例:如果保留手动边距,需计算上下边距,让绘图区域的高度与宽度相等
修改后的完整代码
# 设置400x400像素的正方形输出画布 set terminal pngcairo size 400,400 enhanced # 强制绘图区域为正方形,确保坐标轴比例一致 set size square set ratio -1 # 调整边距,保证绘图区域宽高相等 set lmargin at screen 0.07 set rmargin at screen 0.995 set bmargin at screen 0.075 set tmargin at screen 1 set xr[0:0.24] set yr[0:0.24] set xtics border offset 0,0.4 0,0.05,0.2 set ytics border offset 0.8,0 0,0.05,0.2 set xlabel 'B' offset 0,3 set ylabel 'C' offset 9,0 set key at 0.22,0.1 width 1 maxrows 4 plot '-' w p ps 2 pt 11 lc 8 title "D",\ '-' w p ps 2 pt 7 lc 8 title "A",\ '-' w p ps 2 pt 9 lc 8 title "A", \ '-' w p ps 2 pt 13 lc 8 title "A",\ '-' w p ps 2 pt 10 lc 8 title "A",\ '-' w p ps 2 pt 6 lc 8 title "A",\ '-' w p ps 2 pt 8 lc 8 title "A",\ '-' w p ps 2 pt 12 lc 8 title "A",\ x dashtype 2 lc 8 lw 3 notitle 0.208555 0.204212 e 0.108604 0.107899 e 0.055720 0.055651 e 0.037514 0.037498 e 0.208555 0.230125 e 0.108604 0.115062 e 0.055720 0.057531 e 0.037514 0.038354 e
关键参数说明
set terminal pngcairo size 400,400 enhanced:定义输出图片为正方形画布set size square:强制坐标轴包围的绘图区域为正方形set ratio -1:确保x、y轴的单位长度在视觉上完全相同,避免因数值范围导致的拉伸变形
内容的提问来源于stack exchange,提问作者Zhao Dazhuang
相关产品推荐
相关产品推荐

