2014-07-14 9 views
1

У меня странная проблема с использованием «set xrange» с простым кодом, и я не получаю его. У меня есть код:gnuplot: сюжет исчезает при добавлении «set xrange»

set style data histograms  
set style histogram clustered gap 1  
set style fill solid 1.0  
set boxwidth 0.9  
set auto x  
set xtic rotate by -70 scale 1  
set yrange [0:32]  
set ylabel 'percentage [%]'  
set xlabel 'Year'  
set key top left 

plot '../ölkj.txt' using 3 title 'ölkj', 'asdf.txt' u 2 title 'asdf' 

Все в порядке. Но когда я добавляю

set xrange[1997:2014] 

участок исчезает, только оси, их ярлык и легенда остаются.

данные в следующем формате:

2012 14,81 20 
2013 15,11 18,18 
2014 15,83 20 

Любые идеи?

+1

Проблема наиболее определенно заключается в том, как вы выполняете построение и пытаетесь установить xrange по времени, а также как временные метки. Отправьте фрагмент из файла данных. –

+0

Эй, Захаиб, спасибо за ваши усилия. Это некоторые данные ... – user3837801

+0

В каком файле находятся данные? можете ли вы изменить свой вопрос, чтобы добавить достаточное количество данных из обоих, чтобы воспроизвести проблему? –

ответ

0

Я думаю, что вы пытаетесь достичь set xrange, чтобы получить метки года на вашей оси х. Вы можете сделать это, просто изменив вашу команду, чтобы участок:

plot '../ölkj.txt' using 3:xtic(1) title 'ölkj', 'asdf.txt' u 2:xtic(1) title 'asdf' 
+0

нет, я хочу ограничить диапазон x. например, с этими тремя наборами данных «set xrange [2013: 2014]». Если я добавлю xtics, на оси x нет точки данных. И ни сюжет. – user3837801

+0

@ user3837801 Gnuplot на самом деле не ожидает x-cordinates при построении гистограмм. Он сам будет устанавливать целые числа на оси х, чтобы равномерно разместить кластеры. Если вы хотите отрегулировать ось x, тогда просто используйте целые числа в наборе xrange. Попробуйте установить 'set xrange [0: 4]' и поиграйте с этими числами. –

+0

Thanx Zahaib, я попробую это. ура, Зак – user3837801

2

У меня была аналогичная проблема, только сейчас, используя данные времени:

Я использовал

set timefmt "%s" 
set ydata time 
set yrange [0:600] 

и мой участок исчез.

Замена set yrange [0:600] с помощью set yrange ["0":"600"] запустила его снова.

Это может быть вызвано тем, что gnuplot не разбирает аргументы yrange, когда он не заключен в " и использует другое внутреннее представление для временных меток.

Я мог наблюдать это, глядя на координаты мыши на пустой участок. Нажав «Применить автомасштабирование», gnuplot покажет мой сюжет. Координаты мыши тогда выглядели совершенно иначе.

Смежные вопросы