pdfcairo终端绘制带y-errorbars的图时数据点尺寸异常咨询
pdfcairo终端yerrorbars数据点尺寸异常的原因及解决办法
核心原因
- 单位逻辑差异:pdfcairo终端的
ps(pointsize)是基于**打印机点(1/72英寸)**的绝对尺寸,而Windows下的屏幕终端(如wxt、windows终端)是基于屏幕像素的相对尺寸。这就导致同样的ps值,在pdfcairo里的实际显示大小远大于屏幕终端——比如ps=1在pdfcairo里是1/72英寸(约0.35mm),放到PDF里缩放查看时会显得很大;而屏幕终端的ps=1是单个像素级的大小,视觉上小很多。 - 点类型渲染限制:你使用的
pt 7是空心圆圈,pdfcairo终端对这类空心点的小尺寸支持不佳。当ps调小到一定程度时,空心点的边框线宽和点尺寸比例失衡,会出现显示异常(比如变成小方块、边框断裂甚至消失)。而屏幕终端的渲染逻辑更适配像素级的小尺寸空心点。
解决办法
- 适配pdfcairo的ps值:如果要匹配Windows终端的视觉大小,把
ps设为更小的数值,比如ps=0.2~0.3,而不是0.5。可以多试几个值找到合适的大小。 - 更换点类型:换成实心点类型(比如
pt 6),实心点在小尺寸下的渲染更稳定,不会出现空心点的边框异常问题。 - 分离误差棒和点的设置:把误差棒和数据点分开绘制,分别控制线宽和点尺寸,避免关联冲突:
set terminal pdfcairo lw 0.5 # 先设置误差棒的线宽 plot "test.data" u ($6):10:11 with yerrorbars notitle, \ "" u ($6):10 pt 7 ps 0.3 title "你的图例" - 全局设置点尺寸:先通过
set pointsize 0.3全局设置点大小,再绘图,部分场景下能避免局部设置的异常。
内容的提问来源于stack exchange,提问作者user3584513
相关产品推荐
相关产品推荐

