2016-11-29 2 views
1

Ich habe ein Skript erstellt, um einige Zeilen mit gnuplot zeichnen. Mein Skript ist unten angegeben:Zeichnen mehrerer Zeilen mit einem Skript in gnuplot

#!/usr/local/bin/gnuplot 
reset 
set terminal wxt 
set yrange [0:100] 
set xrange [0:100] 
unset colorbox 
set style arrow 1 nohead lc rgb 'black' 
set style arrow 2 nohead lc rgb 'red' 
set arrow 1 from 1,10 to 2,10 nohead 
plot [0:15][0:22]-0.2*x+7.8 
set arrow 1 from 2,15 to 3,15 nohead 
plot [0:15][0:22]-0.2*x+12.8 
set arrow 1 from 3,20 to 4,20 nohead 
plot [0:15][0:22]-0.2*x+17.8 

Ich möchte alle drei Linien zeichnen, aber wenn ich es laufen, erhalte ich nur eine Zeile als Ausgabe. Stimmt etwas im Skript nicht?

Antwort

1

Sie brauchen nur einen einzigen plot Befehl erteilen:

#!/usr/local/bin/gnuplot 
reset 
set terminal wxt 
set yrange [0:100] 
set xrange [0:100] 

set style arrow 1 nohead lc rgb 'black' 
set style arrow 2 nohead lc rgb 'red' 
set arrow 1 from 1,10 to 2,10 nohead 
set arrow 2 from 2,15 to 3,15 nohead 
set arrow 3 from 3,20 to 4,20 nohead 
plot [0:15][0:22] -0.2*x+7.8, \ 
    -0.2*x+12.8, \ 
    -0.2*x+17.8 
+0

ist es möglich, diese vier Punkte (1, 5), ziehen (2,10), (3, 15), (4, 20) in dem obigen Skript bevor die Linien gezeichnet werden? Wie werde ich das tun? @Kebs – user5411115

+0

Dies ist eigentlich eine separate Frage, vielleicht möchten Sie [hier] (http://stackoverflow.com/questions/19452516/) suchen. Aber Ihre ursprüngliche Frage wurde beantwortet, so dass Sie eine der Antworten annehmen können. – kebs

0

Verschiedene Pfeile verschiedene Indizes haben müssen. Verwenden Sie also set arrow 1 ..., set arrow 2 ... und set arrow 3 ... anstatt dreimal set arrow 1 ....

Ein paar weitere Punkte in Ihrem Skript:

  • von set style arrow definiert Styles sind mit einem Pfeil mit dem Stichwort arrowstyle zugeordnet.

So kann man verwenden:

set style arrow 1 nohead lc rgb 'black' 
set style arrow 2 nohead lc rgb 'red' 
set style arrow 3 nohead lc rgb 'green' 

set arrow 1 from 1,10 to 2,10 arrowstyle 1 
set arrow 2 from 2,15 to 3,15 arrowstyle 2 
set arrow 3 from 3,20 to 4,20 arrowstyle 3 

plot [0:15][0:22]-0.2*x+7.8 ,\ 
       -0.2*x+12.8 ,\ 
       -0.2*x+17.8 

oder dies:

set arrow 1 from 1,10 to 2,10 nohead lc rgb 'black' 
set arrow 2 from 2,15 to 3,15 nohead lc rgb 'red' 
set arrow 3 from 3,20 to 4,20 nohead lc rgb 'green' 

plot [0:15][0:22]-0.2*x+7.8 ,\ 
       -0.2*x+12.8 ,\ 
       -0.2*x+17.8 
  • Der Befehl set xrange [0:100] wird durch [0:15] in Ihrem plot Befehl überschrieben. Das Gleiche gilt für yrange.
  • Ein Plot Befehl ist genug.
  • colorbox nur auf pm3d Plots erforderlich
Verwandte Themen