-не так Часто Задаваемые Вопросы- обновлено 2010/12/26
|
|
FAQ
|
О 2D Plot (No.4)Я хочу нарисовать 2 оси в разных масштабахИногда необходимо сделать 2 оси в одной фигуре --- например, ось X - температура в цельсиях (C) и абсолютная (K). Есть несколько способов это сделать, например, отобразить несколько фигур с помощью multiplot, или использовать противоположные оси. Вот пример использования multiplot. Сделаем 2 оси X. Сначала, сделаем фигуру меньше высотой, нижнюю грань занулим, перейдем в режим multiplot. gnuplot> set size 1.0,0.7 gnuplot> set bmargin 0 gnuplot> set yrange [0:5] gnuplot> set multiplot Немного увеличим фигуру и построим верхний график. В следующем примере изображаем функцию y=exp(x)-1. Единица x - "минуты". multiplot> set origin 0,0.3 multiplot> set xrange [0:2] multiplot> set xtics 1 multiplot> set xlabel "Time [min]" multiplot> plot exp(x)-1 notitle Теперь нижний рисунок. Рисуем только ось X. Чтоб избежать дублирования, настроим деления при помощи set noytics, set xtics nomirror. В конце, строим функцию, которая не вписывается в построение (Я имею ввиду, она находится вне графика).В данном примере это y=-1 multiplot> set origin 0,0.15 multiplot> set xrange [0:120] multiplot> set xtics nomirror 30 multiplot> set noytics multiplot> set xlabel "Time [sec]" multiplot> set border 1 multiplot> plot -1 notitle multiplot> set nomultiplot gnuplot> Ну... вероятно есть более элегантный способ сделать это, чем описывамый в примере, но это не проблема. Точно настроить расстояние между двумя осями X не легко. Проще добавить новую ось другими программами отличных от gnuplot, таких как Tgif (http://bourbon.usc.edu/tgif). Я хочу сделать сетку в произвольной позиции.Команда set grid делает сетку на позициях основных делений и они обычно равноудалены. Чтобы сделать сетку на произвольной позиции, отрегулируйте положение основных делений командой set tics. В следующем примере три деления отображаются на уровне 0.5, 1.2, и 2.5 командой set xtics . gnuplot> set xtics ("0.5" 0.5, "1.2" 1.2, "2.3" 2.3) gnuplot> set grid Чтобы произвольная сетка содержала позиции равноудаленных делений, используют противоположные оси. Выбирете позицию сетки при помощи set x2tics, затем сделайте сетку на оси X2 опцией команды set grid. gnuplot> set xtics 0,1 gnuplot> set x2tics ("0.5" 0.5, "1.2" 1.2, "2.3" 2.3) gnuplot> set grid noxtics x2tics Если необходимо удалить подписи в верхней части изображения используется set x2tics "" 0.5 . Эти цифры исчезают, но основные характеристики на оси X2 по-прежнему остаются. |