2017-06-14 93 views
0

我有以下腳本:gnuplot的,提高階梯函數圖

set xlabel "y" 
set ylabel "rw[j]" 
set title "P-D diagram" 
set xzeroaxis 
unset key 

plot [0.5:1] \ 
-5.71429*x title "L[-5]" linetype 1, \ 
-4.28571*x title "U[-5]" linetype 3, \ 
-4.71429*x title "L[-4]" linetype 1, \ 
-3.28571*x title "U[-4]" linetype 3, \ 
-3.71429*x title "L[-3]" linetype 1, \ 
-2.28571*x title "U[-3]" linetype 3, \ 
-2.71429*x title "L[-2]" linetype 1, \ 
-1.28571*x title "U[-2]" linetype 3, \ 
-1.71429*x title "L[-1]" linetype 1, \ 
-0.285714*x title "U[-1]" linetype 3, \ 
-0.714286*x title "L[0]" linetype 1, \ 
0.714286*x title "U[0]" linetype 3, \ 
0.285714*x title "L[1]" linetype 1, \ 
1.71429*x title "U[1]" linetype 3, \ 
1.28571*x title "L[2]" linetype 1, \ 
2.71429*x title "U[2]" linetype 3, \ 
2.28571*x title "L[3]" linetype 1, \ 
3.71429*x title "U[3]" linetype 3, \ 
3.28571*x title "L[4]" linetype 1, \ 
4.71429*x title "U[4]" linetype 3, \ 
4.28571*x title "L[5]" linetype 1, \ 
5.71429*x title "U[5]" linetype 3, \ 
(0.500000<= x && x <= 0.531250) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? 0.000000:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? -2.312500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? -2.500000:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? -2.625000:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? -2.750000:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? -2.937500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? -3.062500:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? -3.187500:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? -3.375000:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? -3.500000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? -3.625000:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? -3.812500:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? -3.937500:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? -4.125000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? -4.250000:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? -4.375000:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? -4.562500:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? -1.812500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? -1.937500:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? -2.062500:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? -2.187500:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? -2.312500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? -2.437500:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? -2.500000:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? -2.625000:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? -2.750000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? -2.875000:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? -3.000000:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? -3.125000:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? -3.250000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? -3.312500:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? -3.437500:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? -3.562500:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? -1.312500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? -1.437500:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? -1.500000:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? -1.562500:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? -1.687500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? -1.750000:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? -1.812500:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? -1.937500:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? -2.000000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? -2.062500:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? -2.187500:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? -2.250000:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? -2.375000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? -2.437500:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? -2.500000:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? -2.625000:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? -0.812500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? -0.875000:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? -0.937500:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? -1.000000:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? -1.062500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? -1.125000:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? -1.125000:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? -1.187500:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? -1.250000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? -1.312500:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? -1.375000:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? -1.437500:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? -1.500000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? -1.500000:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? -1.562500:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? -1.625000:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? -0.312500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? -0.375000:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? -0.375000:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? -0.375000:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? -0.437500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? -0.437500:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? -0.437500:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? -0.500000:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? -0.500000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? -0.500000:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? -0.562500:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? -0.562500:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? -0.625000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? -0.625000:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? -0.625000:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? -0.687500:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? 0.312500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? 0.375000:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? 0.375000:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? 0.375000:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? 0.437500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? 0.437500:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? 0.437500:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? 0.500000:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? 0.500000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? 0.500000:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? 0.562500:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? 0.562500:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? 0.625000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? 0.625000:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? 0.625000:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? 0.687500:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? 0.812500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? 0.875000:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? 0.937500:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? 1.000000:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? 1.062500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? 1.125000:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? 1.125000:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? 1.187500:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? 1.250000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? 1.312500:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? 1.375000:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? 1.437500:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? 1.500000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? 1.500000:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? 1.562500:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? 1.625000:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? 1.312500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? 1.437500:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? 1.500000:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? 1.562500:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? 1.687500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? 1.750000:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? 1.812500:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? 1.937500:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? 2.000000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? 2.062500:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? 2.187500:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? 2.250000:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? 2.375000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? 2.437500:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? 2.500000:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? 2.625000:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? 1.812500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? 1.937500:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? 2.062500:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? 2.187500:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? 2.312500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? 2.437500:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? 2.500000:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? 2.625000:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? 2.750000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? 2.875000:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? 3.000000:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? 3.125000:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? 3.250000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? 3.312500:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? 3.437500:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? 3.562500:1.0/0.0 linetype 4,\ 
(0.500000<= x && x <= 0.531250) ? 2.312500:1.0/0.0 linetype 4,\ 
(0.531250<= x && x <= 0.562500) ? 2.500000:1.0/0.0 linetype 4,\ 
(0.562500<= x && x <= 0.593750) ? 2.625000:1.0/0.0 linetype 4,\ 
(0.593750<= x && x <= 0.625000) ? 2.750000:1.0/0.0 linetype 4,\ 
(0.625000<= x && x <= 0.656250) ? 2.937500:1.0/0.0 linetype 4,\ 
(0.656250<= x && x <= 0.687500) ? 3.062500:1.0/0.0 linetype 4,\ 
(0.687500<= x && x <= 0.718750) ? 3.187500:1.0/0.0 linetype 4,\ 
(0.718750<= x && x <= 0.750000) ? 3.375000:1.0/0.0 linetype 4,\ 
(0.750000<= x && x <= 0.781250) ? 3.500000:1.0/0.0 linetype 4,\ 
(0.781250<= x && x <= 0.812500) ? 3.625000:1.0/0.0 linetype 4,\ 
(0.812500<= x && x <= 0.843750) ? 3.812500:1.0/0.0 linetype 4,\ 
(0.843750<= x && x <= 0.875000) ? 3.937500:1.0/0.0 linetype 4,\ 
(0.875000<= x && x <= 0.906250) ? 4.125000:1.0/0.0 linetype 4,\ 
(0.906250<= x && x <= 0.937500) ? 4.250000:1.0/0.0 linetype 4,\ 
(0.937500<= x && x <= 0.968750) ? 4.375000:1.0/0.0 linetype 4,\ 
(0.968750<= x && x <= 1.000000) ? 4.562500:1.0/0.0 linetype 4 
pause - 1 

繪出如下: enter image description here

我希望我能夠繪製一個實際的樓梯,而不是那些跳躍的,也是它在我看來,如果在y軸上連續出現兩條橙色線,則會出現間隙delta_y,但不應該如此,因爲已將軸分割爲連續的間隔。

任何提示? (PS。腳本由程序生成,我的gnuplot版本爲5.2)

+1

將您的樓梯數據保存到文件並使用「steps」,「histeps」繪圖樣式。 – Christoph

+0

你能提供一個例子嗎? – user8469759

+0

http://gnuplot.sourceforge.net/demo_5.0/steps.html – Christoph

回答

1

您可以使用int函數將(正數)向下舍入到下一個整數。使用正確的因素,這會產生適當的步驟。例如,你可以做以下的尺寸0.31250的步驟繪製5*x

rounddown(x,p) = int(x/p)*p 
plot rounddown(5*x,0.31250) 

注意,對於低決議,可能有必要增加樣本數量,例如如下所示:

set samples 10000