Организация данных для гистограмм gnuplot

Я пытаюсь организовать данные в файле .dat, чтобы затем использовать gnuplot для создания гистограммы. А именно, текущие данные выглядят так:

Nodes     Rows             PS       
   30       0          0.16545666      
   30       5          0.13318791      
   30      10          0.13621247     
   30      993         0.17842487   

   31       0          0.26545666      
   31       5          0.23318791      
   31      10          0.23621247     
   31      992         0.27842487  

Я хотел бы создать гистограммы с узлами (30 и 31) на оси x и значениями PS на оси y. Данные в строках должны накапливаться по размеру вокруг базы, которая является узлами. Например, на диаграмме будет отображаться полоса, показывающая PS для узлов 30, строки 0, справа от нее должна быть полоса, показывающая PS для узлов 30, но со строками 5... тогда, после того, как узлы 30 завершены, должны быть быть разрывом до 31 (или 5 пробелов, если рассматривается 35) с аналогичным накоплением.

Как я могу добиться этого с помощью gnuplot? Если мне нужно реорганизовать данные, рассмотрите возможность включения последовательности кода, который я должен вызывать для конкретной организации.

Спасибо.


person user506901    schedule 01.12.2011    source источник


Ответы (1)


Если вы реорганизуете свои данные, чтобы

30 0 0.16545666 5 0.13318791 10 0.13621247 993 0.17842487
31 0 0.26545666 5 0.23318791 10 0.23621247 992 0.27842487

что Nodes row_1 ps_1 row_2 pw_2 ..., я думаю, вы можете построить свои данные с помощью

set key off
set style data histogram
set style histogram cluster gap 1
set style fill solid border -1
set boxwidth 0.9

plot for [col=3:7:2] "Data.csv" u col:xticlabels(1)

который дает вам этот сюжет:

введите здесь описание изображения

person Woltan    schedule 01.12.2011
comment
Спасибо. После последней команды я получаю следующее: gnuplot› plot for [col=3:7:2] Data.csv u col:xticlabels(1) ^ ':' ожидаемый gnuplot› ........... ...... Как это починить? - person user506901; 02.12.2011
comment
@user506901 user506901 Я перезапустил код, и ошибка не появляется на моей машине. Возможно дело в версии. Моя версия Version 4.4 patchlevel 3. Также вы можете попробовать убрать :xticlabels(1) и посмотреть, сработает ли это. Иначе я не знаю, почему это не работает... - person Woltan; 02.12.2011