Насколько я понимаю, вы хотите обрабатывать столбцы индивидуально, а не обрабатывать все как матрицу.Следующие команды gnuplot сделают это:
unset xtics
unset ytics
unset border
set bmargin screen 0.1
set key samplen -1
set style fill solid
set palette defined (0 "forest-green", 1 "goldenrod")
plot for [col=1:4] 'data' \
using (col):0:(0.45):(1.0):col with boxxy \
lc palette title columnhead(col) at first col, graph -0.05
Примечания:
- В стиле boxxy ожидается ввод столбца x: y: delta_x: delta_y [: необязательный цвет]
- Мы даем ему номер столбца для x, номер строки для y, а также ширину и высоту постоянного размера.Вы можете отрегулировать ширину, чтобы уменьшить зазор между столбцами.
- Нижнее поле увеличивается, чтобы оставить место для меток
- Заголовки размещаются индивидуально под графиком, а не в ключевом поле
Вы упомянули сортировку, но не совсем точно, что вы хотите.Если идея состоит в том, чтобы отсортировать значения в каждом столбце перед построением графика, я думаю, что это нужно будет сделать, вызвав системную команду.В Linux это можно сделать, заменив первую строку команды plot на что-то вроде:
plot for [col=1:4] sprintf("<sort -n -k %d data",col) \
etc