⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gnuplot.pl

📁 柯老师网站上找到的
💻 PL
字号:
$file = '';sub plotPreamble {    my($OUT, $title, $xlabel, $xrange, $ylabel, $yrange) = @_;#    if (! defined($ENV{'DISPLAY'})) {#	print $OUT 'set terminal dumb', "\n";#	print $OUT 'set output "/dev/null"', "\n";#    }    $file = $title;    print $OUT "set title  '$title'   \n";    print $OUT "set xlabel '$xlabel'  \n";    print $OUT "set ylabel '$ylabel'  \n";    print $OUT "set xrange [$xrange]  \n"	if ($xrange);    print $OUT "set yrange [$yrange]  \n"	if ($yrange);}$plotcmd = 'plot';sub plot {    my($OUT, $append, $file, $ins, @vals) = @_;    if ($#vals >= $[) {	open(DOUT, ($append ? ">>$file" : ">$file"));	print DOUT @vals;	close(DOUT);	print $OUT "$plotcmd '$file' $ins\n";	$plotcmd = 'replot';    }}$labelid = '000';sub setLabel {    my($OUT, $tag, $label, $x, $y, $pos) = @_;    print $OUT "set label ${labelid}$tag '$label' at $x, $y $pos\n";    ++$labelid;}sub setArrow {    my($OUT, $tag, $x1, $y1, $x2, $y2) = @_;    print $OUT "set arrow ${labelid}$tag from $x1, $y1 to $x2, $y2\n";    ++$labelid;}$ffirst = 0;sub plotFails {    my($OUT, $minY, $maxY, $tag, @vals) = @_;    if ($#vals >= $[) {	my($range, $start, $tick1, $tick2, @nvals);	$range = $maxY - $minY;	$start = $maxY - $range * 0.1;	$tick1 = $maxY - $range * 0.2;	$tick2 = $maxY - $range * 0.22;	foreach $i (@vals) {	    push(@nvals, "$i $minY\n", "$i $maxY\n");	    setArrow($OUT, $tag, $i, $start, $i, $tick1);	    setArrow($OUT, $tag, $i, $start, $i, $tick2);	    setLabel($OUT, $tag, "<$tag>",  $i - 0.11, $tick2, 'right');	}	plot($OUT, $ffirst, 'link-fails', 'w impulse', @nvals);	$ffirst = 1;    }}$rfirst = 0;sub plotRecov {    my($OUT, $minY, $maxY, $tag, @vals) = @_;    if ($#vals >= $[) {	my($range, $start, $tick1, $tick2, @nvals);	$range = $maxY - $minY;	$start = $maxY - $range * 0.3;	$tick1 = $maxY - $range * 0.1;	$tick2 = $maxY - $range * 0.12;	foreach $i (@vals) {	    push(@nvals, "$i $minY\n", "$i $maxY\n");	    setArrow($OUT, $tag, $i, $start, $i, $tick1);	    setArrow($OUT, $tag, $i, $start, $i, $tick2);	    setLabel($OUT, $tag, "<$tag>", $i + 0.11, $tick1, 'left');	}	plot($OUT, $rfirst, 'link-recovery', 'w impulse', @nvals);	$rfirst = 1;    }}sub plotPostamble {    my($OUT) = shift @_;#    print $OUT "set terminal postscript\n";#    print $OUT "set output '${file}.ps'\n";#    print $OUT "replot\n";#    print $OUT "set output\n";    print $OUT "exit\n";    close(OUT);}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -