gnuplot:如何避免使用填充曲线缩放到 0?
gnuplot: How to avoid scaling to 0 with filledcurves?
如果我绘制一条填充曲线 with filledcurves
gnuplot 似乎总是自动将 y 轴缩放为零。
为什么?错误?我错过了什么吗?如何避免?有什么想法吗?
如果我这样做:
plot $Data u 1:2 w filledcurves noautoscale
我收到错误消息:
x range is invalid
显然,"noautoscale" 还没有什么可做的。
如果我先做另一个绘图,它也会自动将 filledcurves 调整为 0。
所以,我没有看到单独自动缩放填充曲线的方法 not 到 0.
代码:
### how to autoscale a filled curve NOT to zero?
reset session
$Data <<EOD
3.8 3.8
9.1 3.8
9.1 9.1
3.8 9.1
3.8 3.8
EOD
unset key
set multiplot layout 1,4
set title "with lines\n\n"
plot $Data u 1:2 w lp pt 7
set title "with filledcurves\n\n"
plot $Data u 1:2 w filledcurves
set title "with lines \&\nwith filledcurves\n"
plot $Data u 1:2 w lp pt 7, '' u 1:2 w filledcurves
set title "with lines \&\nwith filledcurves\n+noautoscale"
plot $Data u 1:2 w lp pt 7, '' u 1:2 w filledcurves noautoscale
unset multiplot
### end of code
结果:
这是接受以下形式的绘图命令的意外结果:
plot $data using x:y1:y2 with filledcurves {options}
这是支持填充两条曲线之间区域所必需的。由于您的示例中未初始化第二个 y 值,因此它保持为零并影响 y 的自动缩放范围。
在开发版本中(以及 5.4 的 -rc1,您应该下载并测试)一个解决方法是强制使用 closed
选项,即使输入有三列:
plot $data using 1:2:2 with filledcurves closed
很遗憾,5.2 版不接受 closed
作为此处的关键字。所以是的,这是一个错误。
如果您碰巧知道内部某个点的坐标(例如本例中的 [7,7]),那么您也可以使用选项:
plot $data using 1:2 with filledcurves xy=7,7
如果我绘制一条填充曲线 with filledcurves
gnuplot 似乎总是自动将 y 轴缩放为零。
为什么?错误?我错过了什么吗?如何避免?有什么想法吗?
如果我这样做:
plot $Data u 1:2 w filledcurves noautoscale
我收到错误消息:
x range is invalid
显然,"noautoscale" 还没有什么可做的。 如果我先做另一个绘图,它也会自动将 filledcurves 调整为 0。 所以,我没有看到单独自动缩放填充曲线的方法 not 到 0.
代码:
### how to autoscale a filled curve NOT to zero?
reset session
$Data <<EOD
3.8 3.8
9.1 3.8
9.1 9.1
3.8 9.1
3.8 3.8
EOD
unset key
set multiplot layout 1,4
set title "with lines\n\n"
plot $Data u 1:2 w lp pt 7
set title "with filledcurves\n\n"
plot $Data u 1:2 w filledcurves
set title "with lines \&\nwith filledcurves\n"
plot $Data u 1:2 w lp pt 7, '' u 1:2 w filledcurves
set title "with lines \&\nwith filledcurves\n+noautoscale"
plot $Data u 1:2 w lp pt 7, '' u 1:2 w filledcurves noautoscale
unset multiplot
### end of code
结果:
这是接受以下形式的绘图命令的意外结果:
plot $data using x:y1:y2 with filledcurves {options}
这是支持填充两条曲线之间区域所必需的。由于您的示例中未初始化第二个 y 值,因此它保持为零并影响 y 的自动缩放范围。
在开发版本中(以及 5.4 的 -rc1,您应该下载并测试)一个解决方法是强制使用 closed
选项,即使输入有三列:
plot $data using 1:2:2 with filledcurves closed
很遗憾,5.2 版不接受 closed
作为此处的关键字。所以是的,这是一个错误。
如果您碰巧知道内部某个点的坐标(例如本例中的 [7,7]),那么您也可以使用选项:
plot $data using 1:2 with filledcurves xy=7,7