对于大于 yrange 的值,filledcurve 中的 Gnuplot 间隙
Gnuplot gaps in filledcurve for values larger than yrange
我在 Gnuplot filledcurve 显示间隙时遇到问题。我正在使用 Fedora 提供的版本 4.6 补丁级别 5。
这是我正在做的事情:
- 生成 table 平滑值,如下所示:
set table 'smoothedhdata'
plot 'data_file' using 1:2 smooth cspline
unset table
- 取消设置 table、设置输出、设置多图、设置 yrange
- 剧情:
plot 'smootheddata' using 1:2 with filledcurves x1 lc rgb "forest-green" title "Some Title";
出现的问题是,数据中有一些值超出了 yrange 限制的区域。对于这些值,使用 pngcairo 以及使用 svg 的输出中存在间隙。对于更熟悉 gnuplot 的人来说,这可能是微不足道的,但到目前为止我还没有找到解决方案。有没有人看到过这种行为并知道解决方法,或者这可能是 Gnuplot 中某处的错误?
- 这是一个图表,显示了绿色图表中的一些差距:
Gnuplot 4.6 版在正确裁剪填充区域方面存在一些问题。可能这就是造成问题的原因。 5.0版本修改了裁剪,可能是新版本没问题(没有测试数据无法测试)
或者您可以尝试手动剪裁 using
语句中的值。这应该有效,因为无论如何您都会绘制两次数据并且您有预先计算的 yrange 限制(或者您使用自定义 yrange 值 ymin
和 ymax
):
set table 'smoothedhdata'
plot 'data_file' using 1:2 smooth cspline
unset table
ymax = GPVAL_Y_MAX
ymin = GPVAL_Y_MIN
clip(y) = (y < ymin ? ymin : (y > ymax ? ymax : y))
plot 'smootheddata' using 1:(clip()) with filledcurves x1 lc rgb "forest-green" title "Some Title"
我在 Gnuplot filledcurve 显示间隙时遇到问题。我正在使用 Fedora 提供的版本 4.6 补丁级别 5。
这是我正在做的事情:
- - 生成 table 平滑值,如下所示:
set table 'smoothedhdata'
plot 'data_file' using 1:2 smooth cspline
unset table
- - 取消设置 table、设置输出、设置多图、设置 yrange
- - 剧情:
plot 'smootheddata' using 1:2 with filledcurves x1 lc rgb "forest-green" title "Some Title";
出现的问题是,数据中有一些值超出了 yrange 限制的区域。对于这些值,使用 pngcairo 以及使用 svg 的输出中存在间隙。对于更熟悉 gnuplot 的人来说,这可能是微不足道的,但到目前为止我还没有找到解决方案。有没有人看到过这种行为并知道解决方法,或者这可能是 Gnuplot 中某处的错误?
- - 这是一个图表,显示了绿色图表中的一些差距:
Gnuplot 4.6 版在正确裁剪填充区域方面存在一些问题。可能这就是造成问题的原因。 5.0版本修改了裁剪,可能是新版本没问题(没有测试数据无法测试)
或者您可以尝试手动剪裁 using
语句中的值。这应该有效,因为无论如何您都会绘制两次数据并且您有预先计算的 yrange 限制(或者您使用自定义 yrange 值 ymin
和 ymax
):
set table 'smoothedhdata'
plot 'data_file' using 1:2 smooth cspline
unset table
ymax = GPVAL_Y_MAX
ymin = GPVAL_Y_MIN
clip(y) = (y < ymin ? ymin : (y > ymax ? ymax : y))
plot 'smootheddata' using 1:(clip()) with filledcurves x1 lc rgb "forest-green" title "Some Title"