Я работаю со встроенным измерительным инструментом. Я использую gnuplot (gnuplot 4.6 patchlevel 4
) для визуализации.gnuplot - draw stacked line chart
Мне нужно, чтобы представить результаты (метод времени выполнения для нескольких прогонов), как сложены линейный график, что-то вроде этого:
Вот отрывок из моего файла .tsv
данных:
Run MethodA MethodB MethodC
1 192 171 152
2 227 178 161
...
10 229 161 149
И сценарий, который я использую:
#!/usr/bin/gnuplot -p
reset
clear
set terminal png size 640,480
set output "timings.png"
set key top left outside horizontal autotitle columnhead
set title "Third-party REST calls"
set xlabel "Run (ordinal)"
set xtics nomirror scale 0
set ylabel "Time (milliseconds)"
set ytics out nomirror
set grid ytics lt 0 lw 1 lc rgb "#bbbbbb"
set style data histogram
set style histogram rowstacked
set style fill solid border -1
set boxwidth 0.75
plot "timings.tsv" using 2:xticlabels(1) , "" using 3, "" using 4
я получаю следующий результат:
Да, это не линейный график, но гистограмма (мне нужно, чтобы представить процент времени выполнения каждого метода). Мне нужно немного другой результат (тот же гистограмму, а не с коробками, но с линиями, которые соединяют коробки вершины и с заполнением ниже линии), например:
Я понимаю, подход с filledcurve
-х (например, описано там Creating a Filled Stack Graph in GNUPlot), но в этом подходе вам нужно явно суммировать значения.
Можно ли нарисовать заполненные области вместо ящиков через gnuplot
, например. конвертировать гистограмму в сложную линейную диаграмму?
Да, вы должны суммировать явно, но это довольно легко, используя 'участок for' вместе с' функции sum', как на той же странице вы связаны в. – Christoph