2016-12-17 3 views
0

ich einen völlig Neuling mit Gnuplot bin, lese ich gerade diese grundlegenden Tutorial: http://people.duke.edu/~hpgavin/gnuplot.htmlGnuplot: Wie eine Aufgabenplanung Grafik plotten

Ich mag diese Daten zeichnen:

Processor1 t4 2 7 t3 7 12 t2 12 17 
Processor2 t5 0 9 t1 10 13 

und die daraus resultierend Handlung sollte so etwas wie dieses Bild sein:

enter image description here

ich durch das Web durchsucht, aber ich habe keine Handlung wie diese finden, die sim Ich fand, dass es gestapelte Bars waren, aber sie sind nicht das, was ich brauche.

Jemand weiß, wie man mit Gnuplot in die Nähe dieses Plots kommt (könnte ein anderes Plotprogramm sein, ich wähle Gnuplot, weil es ein bekanntes Werkzeug für diesen Zweck ist).

@edit 1

Das obige Bild ist von http://rtime.felk.cvut.cz/scheduling-toolbox/manual/algorithms-scheduling.php

@edit 2

Ich mag würde Michael O. danken für einen Plot für meine Daten zu erzeugen, auch eine manuelle Plotten ist es war wundervoll.

Eigentlich habe ich es aufgegeben, dies mit einem generischen Plotprogramm wie gnuplot zu zeichnen. Ich begann mit der Matlab-Toolbox, die das Bild oben erzeugt: rtime.felk.cvut.cz/scheduling-toolbox

Es war ziemlich einfach, dies mit dieser Toolbox zu plotten, werde ich hier schreiben das Skript, das ich früher Zeichnen Sie die Grafik auf, die sich auf die obigen Daten bezieht.

Drehbuch: schedulingSample.m

addpath(path,'/home/carloshmm/Matlab/toolbox/TORSCHE/scheduling/'); 
t1 = task('t1', 3, 10, inf, inf, 1, 2); 
t2 = task('t2', 5, 12, inf, inf, 1, 1); 
t3 = task('t3', 5, 7, inf, inf, 1, 1); 
t4 = task('t4', 5, 2, inf, inf, 1, 1); 
t5 = task('t5', 9, 0, inf, inf, 1, 2); 
T = [t1 t2 t3 t4 t5]; 
add_schedule(T, 'Task Scheduling Graphic', T.ReleaseTime, T.ProcTime, T.Processor); 
plot(T); 
waitforbuttonpress; 

Resultierende Grundstück:

enter image description here

+0

Eigentlich habe ich aufgegeben zu versuchen, diese unter Verwendung eines generischen Plot-Programm zu planen, wie gnuplot. Ich habe angefangen, die Matlab-Toolbox zu verwenden, die das obige Bild generiert hat: rtime.felk.cvut.cz/s Scheduling-Toolbox –

Antwort

0

Nun, hier ist mein Versuch, Ihr Diagramm "von Hand" zu zeichnen, also ohne Ihre Daten mit gnuplot Lesen direkt weil ich denke, dass das unmöglich ist. Wenn Sie das Plotten automatisieren möchten, empfehle ich gnuplot-Skript von einem externen Programm zu erstellen, wo Sie alle Positionen und Plot-Parameter berechnen können.

set term pngcairo dashed size 800,400 
set output 'boxes.png' 
set style fill solid 
unset ytics 
set ytics('Processor1' 1.5,'Processor2' 0.5) 
unset key 
set xrange [-1:20] 
set yrange [0:2] 
set xlabel 't' 
set object 1 rectangle from 2,1 to 7,1.7 fc rgb 'gold' 
set object 2 rectangle from 7,1 to 12,1.7 fc rgb 'light-green' 
set object 3 rectangle from 12,1 to 17,1.7 fc rgb 'light-blue' 
set object 4 rectangle from 0,0 to 9,0.7 fc rgb 'red' 
set object 5 rectangle from 10,0 to 13,0.7 fc rgb 'blue' 
set arrow 1 from 2,1 to 2,1.85 filled fc rgb 'gold' 
set arrow 2 from 7,1 to 7,1.85 filled fc rgb 'light-green' 
set arrow 3 from 12,1 to 12,1.85 filled fc rgb 'light-blue' 
set arrow 4 from 0,0 to 0,0.85 filled fc rgb 'red' 
set arrow 5 from 10,0 to 10,0.85 filled fc rgb 'blue' 
set label 1 't4' at 2,1.05 
set label 2 't3' at 7,1.05 
set label 3 't2' at 12,1.05 
set label 4 't5' at 0,0.05 
set label 5 't1' at 10,0.05 
plot 1 w l lt 2 lc rgb 'red' 

enter image description here

Verwandte Themen