gnuplot - изменить масштаб оси
У меня есть следующие данные в cr.dat
0.03 0.0227352
0.02 0.0276084
0.01 0.0386684
0.009 0.0407197
0.008 0.0431688
0.007 0.04612
0.006 0.0497781
0.005 0.0545085
0.004 0.0608376
0.003 0.069918
0.002 0.0844434
И следующий сценарий сюжета
set xtics ( 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.02, 0.03)
plot "cr.dat" u 1:2 title "cr";
Который производит это изображение
Можно ли удалить большие пространства между 0,01, 0,02 и 0,03?
Я надеялся set xtics
Команда построит данные тики равномерно вдоль оси х. Но это не так.
Обновить
Я попытался в нерегулярных gnuplot x-values предложенное решение с xticlabels
но это производит странную ось X и Y.
Новый сюжетный скрипт
set xtics ( 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.02, 0.03)
plot "cr.dat" u xticlabels(1):2 title "cr";
закончить результат
Я что-то не так понял?
2 ответа
Чтобы получить равномерно распределенные xtics, вы должны задать равномерно распределенные x-значения. Каждому из этих значений x можно присвоить собственную метку, взятую из файла данных, используя xticlabel
функция. Обратите внимание, что эта функция всегда должна быть последней в using
заявление.
Чтобы получить равномерно распределенные значения x, используйте номер строки, который содержится в псевдостолбце. 0
, Итак, чтобы получить нужный сюжет, используйте
plot 'cr.dat' using 0:2:xticlabel(1) title "cr"
При этом номер строки используется как значение x, значения из второго столбца - как значение y, а значение в первом столбце - как метка xtic.
Если вы хотите, чтобы значения были отсортированы в порядке возрастания, у вас есть несколько вариантов:
- Сортировать файл данных.
Сортировка файла данных на лету (отлично работает с помощью инструмента командной строки Unix
sort
:plot '< sort cr.dat' using 0:2:xticlabel(1)
Используйте отрицательное значение номера строки, которое фактически дает вам обратную ось X:
plot 'cr.dat' using (-$0):2:xticlabel(1)
Результат последней команды
Использование
set logscale x
преобразовать linear
ось X к logarithm
ось х, которая до некоторой степени нормализует промежутки.
Или измените размер участка, чтобы получить больше места.
set term . . . size 1920, 1080