2016-12-17 6 views
0

Я полностью новичок с Gnuplot, я только что прочитал этот основной учебник: http://people.duke.edu/~hpgavin/gnuplot.htmlGnuplot: Как для построения планирования задач графики

Я хочу, чтобы построить эти данные:

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

И в результате участок должен быть что-то вроде этого изображения:

enter image description here

Я просмотрел в Интернете, но я не нашел никакого сюжета, как это, самый сим которые я нашел, были штабелированными решетками, но они не то, что мне нужно.

Кто-то знает, как приблизиться к этому сюжету, используя Gnuplot (может быть, другая программа построения графика, я выбираю Gnuplot, потому что это хорошо известный инструмент для этой цели).

@edit 1

Изображение выше от http://rtime.felk.cvut.cz/scheduling-toolbox/manual/algorithms-scheduling.php

@edit 2

Я хотел бы поблагодарить Майкла О. для генерации заговоры для моих данных, даже будучи ручной зарисовки это было потрясающе.

На самом деле я отказался от попыток построить это с помощью общей программы построения графиков, например gnuplot. Я начал использовать набор инструментов matlab, сгенерированный выше: rtime.felk.cvut.cz/scheduling-toolbox

Было довольно просто построить это с помощью этого инструментария, я напишу здесь сценарий, который я использовал для постройте график, ссылаясь на приведенные выше данные.

Сценарий: 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; 

Результирующий участок:

enter image description here

+0

На самом деле я отказался от попыток построить это, используя общую программу построения графиков, как Gnuplot. Я начал использовать набор инструментов Matlab, который сгенерировал изображение выше: rtime.felk.cvut.cz/scheduling-toolbox –

ответ

0

Ну, вот моя попытка построить свой график "вручную", то есть без чтения данных с Gnuplot напрямую , потому что, как я думаю, это невозможно сделать. Если вы хотите автоматизировать построение графика, я предлагаю создать скрипт gnuplot из какой-либо внешней программы, где вы можете рассчитать все позиции и параметры графика.

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

Смежные вопросы