визуализация данных. Чем?

kozicin

Есть набор данных
0 5
7 12
34 3
45 13
59 5

первый столбец всегда в сторону увеличения идет (это время), второй столбец в целом разные числа могут быть, но, грубо говоря, B1 всегда < (А2 - A1)
как мне визуализировать следующим образом это дело?

то есть расположить прямоугольники во временной линии?
ручкуами делать не вариант, слишком много данных
Any thoughts?

elenangel

gnuplot посмотри

violetsugar

В Матлабе можно. Вот что получается:

 

[m, n] = size(x);
num_ticks = m * n;
y = [x(:, 1), sum(x, 2)];
time_ticks = reshape(y', num_ticks, 1);

val_ticks = ones(size(time_ticks));
val_ticks(2:2:end) = 0;

stairs(time_ticks, val_ticks, 'w')
hold on
axis([time_ticks(1) - 3, time_ticks(end) + 3, -0.3, 10])
set(gca, 'XTick', x(:, 1))

x_text = mean(y, 2);
y_text = ones(size(x_text)) + 0.3;
z_text = x(:, 2);
for i = 1:m
text(x_text(i), y_text(i), num2str(z_text(i)))
fill([y(i, 1), y(i, 1), y(i, 2), y(i, 2)], [0 1 1 0], 'r')
end
hold off

Есть проблема, которая состоит в том, что "точка отсчёта" подписей над полосками (5, 12, 3 и т.д.) находится не в середине подписи, а внизу слева. Поэтому текст немного съезжает вправо относительно середины полоски. Особенно заметно это будет для длинных подписей.
Оставить комментарий
Имя или ник:
Комментарий: