如何仅将曲线填充到某个值,同时使用线 gnuplot
How to fill curve only up to a certain value, simultaneously with line gnuplot
我只想绘制填充曲线,直到第一列上的值小于零。我应该怎么做?也许每次用不同的范围绘制两条不同的线?
我的代码是:
p "data.txt" ( <=0 ? : 1/0) w filledcurves , '' ( <=0 ? : 1/0) w filledcurves, \
...
但是这样x轴上的值是错误的并且曲线以错误的奇怪方式填充:
在这种情况下,x 轴是正确的,而曲线仍然以奇怪的方式填满:
plot 'data.txt' u 1:(<=0?:1/0)
这些是 gnuplot 中的错误吗?
虽然我会像这样但只填满到零:
还有一种方法可以同时画线,select线型?
有几个问题:
1 - 您应该使用 using
或 u
,例如:
plot "data.txt" u ( <=0 ? : 1/0)
2 - 在这种形式中,您绘制第 2 列(或什么都不绘制;取决于第 1 列)aganist 第 0 列((几乎)等于行号) .要检查此效果,请尝试查看:
plot "data.txt" u 2
3 - 答案: 正确的语法如下:
plot 'data.txt' u (<=0?:1/0):2
或
plot 'data.txt' u 1:(<=0?:1/0)
这取决于你实际想要绘制什么。它们之间的区别是第一个将绘图的 xrange
设置为 0,而第二个显示更宽的 xrange
(最多 x_max 数据)。但是,在您的情况下,您可以同时使用它们。 (或者你可以混合使用它们。)例如:
plot 'data.txt' u 1:(<=40?:1/0) w filledcurves y=0, '' u 1:(>40?:1/0) w l lc 1
你的情节的问题是使用 'naked' filledcurves
和 2 列数据集,默认选项是 closed
,它威胁数据集作为一个封闭的多边形。
我只想绘制填充曲线,直到第一列上的值小于零。我应该怎么做?也许每次用不同的范围绘制两条不同的线?
我的代码是:
p "data.txt" ( <=0 ? : 1/0) w filledcurves , '' ( <=0 ? : 1/0) w filledcurves, \
...
但是这样x轴上的值是错误的并且曲线以错误的奇怪方式填充:
在这种情况下,x 轴是正确的,而曲线仍然以奇怪的方式填满:
plot 'data.txt' u 1:(<=0?:1/0)
这些是 gnuplot 中的错误吗?
虽然我会像这样但只填满到零:
还有一种方法可以同时画线,select线型?
有几个问题:
1 - 您应该使用 using
或 u
,例如:
plot "data.txt" u ( <=0 ? : 1/0)
2 - 在这种形式中,您绘制第 2 列(或什么都不绘制;取决于第 1 列)aganist 第 0 列((几乎)等于行号) .要检查此效果,请尝试查看:
plot "data.txt" u 2
3 - 答案: 正确的语法如下:
plot 'data.txt' u (<=0?:1/0):2
或
plot 'data.txt' u 1:(<=0?:1/0)
这取决于你实际想要绘制什么。它们之间的区别是第一个将绘图的 xrange
设置为 0,而第二个显示更宽的 xrange
(最多 x_max 数据)。但是,在您的情况下,您可以同时使用它们。 (或者你可以混合使用它们。)例如:
plot 'data.txt' u 1:(<=40?:1/0) w filledcurves y=0, '' u 1:(>40?:1/0) w l lc 1
你的情节的问题是使用 'naked' filledcurves
和 2 列数据集,默认选项是 closed
,它威胁数据集作为一个封闭的多边形。