MC, 22:32 sobota, 06.11.2010 r.
GNUplot: część 7. - Formatowanie osi
Formatowanie osi
W tej części poradnika chciałbym skupić się na temacie formatowania
osi. Formatowania czyli zmieniania parametrów tych osi, tak by wyglądały
w sposób odpowiadający naszym potrzebom/zamierzeniom itp.
Teraz zajmijmy się górną osią X, choć należy pamiętać, że domyślnie ma ona ten sam zakres co dolna oś X, więc w najczęstszych przypadkach w ogóle nie trzeba ustalać jej zakresu.
Chcąc ustalić podziałkę równomierną musimy wydać odpowiednie polecenie z trzema argumentami - najmniejsza wartość na podziałce, krok zmiany, największa wartość na podziałce. Całość, dla dolnej osi X, ma następującą składnię:
Ustalając podziałkę nierównomierną musimy jedynie wskazać jakie wartości mają być na nią naniesione. Dla dolnej osi X robimy to w sposób następujący:
Podziałka nie musi składać się z wartości liczbowych - zamiast nich, pojawić się mogą etykiety, czyli inaczej mówiąc, napisy. Każdą z etykiet należy jednak przyporządkować konkretnej wartości liczbowej. W praktyce wygląda to następująco:
Gdy chcemy usunąć podziałkę z dodatkowych równoległych osi układu, musimy wydać polecenie:
Czasem, kiedy już wystaczająco namotamy w ustawieniach osi, warto posiadać umiejętność zresetowania wprowadzonych ustawień. Jak nie trudno się domyslić, służy do tego polecenie reset. Podczas używania etykiet na podziałce, bardzo często musimy wykorzystywać znaki specjalne, w tym np. greckie litery. Temat ten zostanie podjęty przeze mnie w kolejnym artykule o GNUplocie.
Ustawienie zakresu poszczególnych osi
Gdy istnieje potrzeba ustawienia pewnych ogólnych opcji dotyczących wykresu używa się polecenia set. Tak jest również kiedy chodzi o formatowanie osi. Najpierw ustalmy zakres dolnej osi X:
set xrange [xmin : xmax];
Warto wiedzieć, że xrange można w skrócie zapisać
jako xr (w dalszej części artykuły będzie stosowany zapis
skrótowy).Teraz zajmijmy się górną osią X, choć należy pamiętać, że domyślnie ma ona ten sam zakres co dolna oś X, więc w najczęstszych przypadkach w ogóle nie trzeba ustalać jej zakresu.
set x2r [xmin : xmax];
Ustalenie zakresów dla osi Y jest w pełni analogiczne.
set yr [ymin : ymax];
set y2r [ymin : ymax];
Przykład:set y2r [ymin : ymax];
set xr [-5 : 5];
set x2r [-3 : 4];
set yr [-1 : 1];
set y2r [0 : 0.5];
plot sin(x);
Uwaga! Aby wyświetlona została podziałka na osiach X2 oraz Y2,
musi ona zostać wcześniej ustalona.
set x2r [-3 : 4];
set yr [-1 : 1];
set y2r [0 : 0.5];
plot sin(x);
Ustawienie podziałki poszczególnych osi
Teraz zajmijmy się ustaleniem podziałek, które mają występować na każdej z osi. Podziałka równomiernaChcąc ustalić podziałkę równomierną musimy wydać odpowiednie polecenie z trzema argumentami - najmniejsza wartość na podziałce, krok zmiany, największa wartość na podziałce. Całość, dla dolnej osi X, ma następującą składnię:
set xtics xmin, zmiana_x, xmax;
Oraz analogicznie dla pozostałych osi:
set x2tics xmin, zmiana_x, xmax;
set ytics ymin, zmiana_y, ymax;
set y2tics ymin, zmiana_y, ymax;
Przykład:set ytics ymin, zmiana_y, ymax;
set y2tics ymin, zmiana_y, ymax;
set xr [-5 : 5];
set x2r [-3 : 4];
set yr [-1 : 1];
set y2r [0 : 0.5]; set xtics -5, 0.5, 5;
set x2tics -1, 1, 2;
set ytics -1, 1, 1;
set y2tics 0, 0.1, 0.5; plot sin(x);
Podziałka nierównomiernaset x2r [-3 : 4];
set yr [-1 : 1];
set y2r [0 : 0.5]; set xtics -5, 0.5, 5;
set x2tics -1, 1, 2;
set ytics -1, 1, 1;
set y2tics 0, 0.1, 0.5; plot sin(x);
Ustalając podziałkę nierównomierną musimy jedynie wskazać jakie wartości mają być na nią naniesione. Dla dolnej osi X robimy to w sposób następujący:
set xtics (x1, x2, ..., xn);
Analogicznie dla pozostałych osi:
set x2tics (x1, x2, ..., xn);
set ytics (y1, y2, ..., yn);
set y2tics (y1, y2, ..., yn);
Przykład:set ytics (y1, y2, ..., yn);
set y2tics (y1, y2, ..., yn);
set xr [-5 : 5];
set x2r [-3 : 4];
set yr [-1 : 1];
set y2r [0 : 0.5]; set xtics (-5, 0, 1, 2, 5);
set x2tics (-1, 0, 2, 2.5);
set ytics (-0.5, 0, 0.75);
set y2tics (0.1, 0.2, 0.45); plot sin(x);
Podziałka złożona z etykiet (napisów/podpisów)set x2r [-3 : 4];
set yr [-1 : 1];
set y2r [0 : 0.5]; set xtics (-5, 0, 1, 2, 5);
set x2tics (-1, 0, 2, 2.5);
set ytics (-0.5, 0, 0.75);
set y2tics (0.1, 0.2, 0.45); plot sin(x);
Podziałka nie musi składać się z wartości liczbowych - zamiast nich, pojawić się mogą etykiety, czyli inaczej mówiąc, napisy. Każdą z etykiet należy jednak przyporządkować konkretnej wartości liczbowej. W praktyce wygląda to następująco:
set xtics ("Etkieta1" x1,
"Etkietan" xn, ..., "Etkietan" xn);
A także dla pozostałych osi:
set x2tics ("Etkieta1" x1,
"Etkietan" xn, ..., "Etkietan"
xn);
set ytics ("Etkieta1" y1, "Etkietan" yn, ..., "Etkietan" yn);
set y2tics ("Etkieta1" y1, "Etkietan" yn, ..., "Etkietan" yn);
Przykład:set ytics ("Etkieta1" y1, "Etkietan" yn, ..., "Etkietan" yn);
set y2tics ("Etkieta1" y1, "Etkietan" yn, ..., "Etkietan" yn);
set xr [-5 : 5];
set yr [-1.5 : 1.5];
set xtics ("Wartosc dla -1" -1, "Maksimum w PI/2" 3.14/2);
set ytics ("Minimum" -1, "Zero" 0, "Maksimum" 1);
plot sin(x);
Usunięcie podziałki z osiset yr [-1.5 : 1.5];
set xtics ("Wartosc dla -1" -1, "Maksimum w PI/2" 3.14/2);
set ytics ("Minimum" -1, "Zero" 0, "Maksimum" 1);
plot sin(x);
Gdy chcemy usunąć podziałkę z dodatkowych równoległych osi układu, musimy wydać polecenie:
set xtics nomirror;
set ytics nomirror;
Gdy zaś zainteresowani jesteśmy usunięciem podziałki z osi głównych, wpiszmy komendę:
set ytics nomirror;
unset xtics;
unset ytics;
Reset ustawieńunset ytics;
Czasem, kiedy już wystaczająco namotamy w ustawieniach osi, warto posiadać umiejętność zresetowania wprowadzonych ustawień. Jak nie trudno się domyslić, służy do tego polecenie reset. Podczas używania etykiet na podziałce, bardzo często musimy wykorzystywać znaki specjalne, w tym np. greckie litery. Temat ten zostanie podjęty przeze mnie w kolejnym artykule o GNUplocie.
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!