Хистограмна лента, скриваща тикове

Начертавам хистограма в gnuplot и лентите в крайна сметка покриват тиковете по оста x, така:

въведете описание на изображението тук

Има ли някакъв начин това да се предотврати?


person Gabriel    schedule 03.09.2012    source източник


Отговори (2)


Не знам със сигурност дали това ще работи или не, но можете да опитате това:

 set grid noxtics noytics noztics front

От четенето на документацията изглежда, че това ще избута тиковете в горната част на стека от обекти при изчертаване (т.е. те ще се изчертаят след лентите, което ги прави видими (мисля)). Друг вариант е да използвате прозрачност във вашия стил на запълване, но това може да не работи в зависимост от вашия терминал (и може да не е желателно).

person mgilson    schedule 04.09.2012
comment
Радвам се :). Гледах този отговор, за да видя дали работи (бях малко нервен, докато го публикувах, защото ме мързеше да напиша сам тест, и въпреки че е наистина добър, документацията на gnuplot не е без грешки) - person mgilson; 05.09.2012

Можете да добавите няколко реда към вашия скрипт като

plot 'data.dat' # whatever your plot command is
set yrange [0:GPVAL_DATA_Y_MAX*1.05]
replot

Това разширява малко диапазона y над най-високата точка от данни. За да намерите най-високата y точка, трябва да начертаете веднъж, след което да начертаете отново, след като зададете диапазона на y. Друг вариант би бил да се направи

set xtics out

Това кара xtics да сочи вместо навътре.

person andyras    schedule 03.09.2012
comment
Благодаря, но това не е това, от което имам нужда. Имам нужда от начин да кажа на gnuplot да начертае тиковете над лентите, а не обратното. - person Gabriel; 04.09.2012
comment
Също така, gnuplot 4.6 предоставя командата stats, така че дори да не се налага да чертаете веднъж, за да получите GPVAL_DATA_Y_MAX -- Което е удобно, когато работите с други терминали (вече не е нужно да set term push и set term pop :^). - person mgilson; 04.09.2012