Gnuplot:导出为 pdf 时和使用 qt 绘图时结果不同

问题描述 投票:0回答:1

我正在尝试使用

filledcurves
gnuplot
绘制一个包含分布平均值及其标准差的图形。我通过将
terminal
设置为
pdf
来获得我的数字。但是,当我的分布点不属于 y 轴的显示范围时,我注意到曲线的斜率是错误的。更令人惊讶的是,当我首先使用 qt 绘制结果,然后手动将我的图形导出到
pdf
时,我确实得到了正确的结果。

这是我的最小工作示例:

reset session

set terminal pdf
set output "~/MWE_results.pdf"

set yr[-100 : 100]

$Data <<EOD
40   0.000011           -0.002104            0.002126
20   0.240582           -4.877879            5.359043
10   0.926508           -9.378468           11.231484
5    4.794549          -19.298995           28.888093
2.5  84.993925        -6679.709571         6849.697422
1.25 6.220374        -3980.189531         3992.630280
EOD

set style fill transparent solid 0.1 

plot $Data u 1:2 w lp pt 7 lc rgb "black" ti "Mean value of my distribution", \
     $Data u 1:3:4 w filledcurves lc rgb "red" ti "Std devation"

unset output

unset term

这段代码给了我以下结果(我圈出了有问题的斜率): results I get when exporting directly to pdf

虽然我用 qt 绘制结果然后导出为 pdf 时得到的 pdf 文件如下(并且与我的数据一致):

results I get when exporting directly when plotting with qt and then exporting to pdf

有人知道会发生什么吗?

提前感谢您的帮助

pdf gnuplot
1个回答
1
投票

正如我在评论中提到的,这是一种非常奇怪的行为。我想说这是一个

terminal pdfcairo
特有的错误。

在您的特殊情况下,填充的上边框和下边框始终分别高于和低于 y=0。 因此,适用于您的情况以及 gnuplot 5.4.5 和 5.5.0 以及

term pdfcairo
的解决方法如下:分别将上下边框填充为 y=0。结果将类似于您的第二个(预期)图表。也许有更好的解决方法。

plot $Data u 1:2 w lp pt 7 lc rgb "black" ti "Mean value of my distribution", \
     $Data u 1:3 w filledcurves y=0 lc rgb "red" ti "Std devation", \
     $Data u 1:4 w filledcurves y=0 lc rgb "red" notitle
© www.soinside.com 2019 - 2024. All rights reserved.