大家好没有任何人有任何想法如何做到这类型的图表。
我试图绘制线和点的组合,但它仍然失败。
我想我已经把范围绘制点得到的例子我在下面。
dat.txt
0.936 1.735E-5
0.9317 1.682E-5
0.9274 1.633E-5
0.9232 1.588E-5
0.9189 1.545E-5
0.9146 1.504E-5
0.9103 1.466E-5
0.9061 1.431E-5
0.9018 1.396E-5
0.8975 1.364E-5
0.8932 1.333E-5
0.889 1.304E-5
0.8847 1.277E-5
对于情节
set xl 'Potential / V'
set yl 'Current / A'
plot 'dat.txt' u 1:2 w l lw 2 lt -1,\
'dat.txt' u 1:2 w p pt 2 ti ''
例如应如何绘制
如果你使用的载体可以或许达到你想要什么。 一种载体,采用以下参数的类型:
plot 'mydata.dat' a:b:c:d with vectors
前两列a
和b
是的出发点和最后两个c
和d
是矢量的相对坐标
因此,如果你可以从你的数据计算出这些值,你应该能达到预期的效果。
set xl 'Potential / V'
set yl 'Current / A'
定义可以使用自定义的箭头样式:
set style arrow 1 head back filled linetype 1 linecolor rgb "red"
set xrange [0.88:0.94]
然后定义函数来计算前面的X,Y值和增量
prev_x = NaN
prev_y = NaN
dx(x) = (x_delta = x-prev_x, prev_x = ($0 > 0 ? x : 1/0), x_delta)
dy(y) = (y_delta = y-prev_y, prev_y = ($0 > 0 ? y : 1/0), y_delta)
最后使用向量指令绘制出来
plot 'stats.dat' u 1:2 w l lw 2 lt -1, '' u (prev_x):(prev_y):(dx($1)):(dy($2)) every 2 w vectors arrowstyle 1 ti ''
编辑
OP提供了完整的数据之后这里 ,脚本改为如下:
set xl 'Potential / V'
set yl 'Current / A'
set style arrow 1 head back filled size screen 0.015,20,35 linetype 1 linecolor rgb "red"
prev_x = NaN
prev_y = NaN
dx(x) = (xd = x-prev_x, prev_x = ($0 > 0 ? x : 1/0), xd)
dy(y) = (yd = y-prev_y, prev_y = ($0 > 0 ? y : 1/0), yd)
plot 'data.dat' u 1:2 w l lw 2 lt -1, '' u (prev_x):(prev_y):(dx($1)):(dy($2)) every 10 w vectors arrowstyle 1 ti ''
用下面的图表: