MC, 00:48 czwartek, 18.11.2010 r.
Ilustracja do artykułu: GNUplot: część 8. - Greckie litery, podpisy, indeksy, etykiety

GNUplot: część 8. - Greckie litery, podpisy, indeksy, etykiety

Podpisy na wykresie z użyciem m.in. greckich liter, indeksów oraz etykiet

Czas omówić niezmiernie ważny temat jakim jest używanie znaków specjalnych, np. greckich liter oraz indeksów w GNUplocie. Przy okazji pokażę również jak ustwić odpowiednie podpisy osi, czy tytuł całego wykresu, a także postaram się zaprezentować użycie etykiet.

Podpisy osi oraz tytuł wykresu

Zacznę od pokazania w jaki sposób ustala się podpisy osi oraz tytuł wykresu, nim jednak to zrobię, chciałbym przypomnieć o poleceniu reset, którym pozbędziemy się wszystkich wprowadzonych wcześniej ustawień wykresu - profilaktycznie będę używał tego polecenia, przed każdym z przykładów.
Do rzeczy - podpis dolnej osi X ustalamy w następujący sposób:
set xlabel "Podpis gornej osi X1";

Skolei dla dolnej osi X składnia wygląda tak:
set x2label "Podpis dolnej osi X2";

Analogicznie dla obu osi Y:
set ylabel "Podpis lewej osi Y";
set y2label "Podpis prawej osi Y";

Aby ustalić tytuł wykresu należy wydać polecenie w postaci:
set title "Tytul";

Przykład:
reset;
set title "Wykres funkcji sin(x)";
set xlabel "Argumenty funkcji";
set ylabel "Wartosci funkcji";

plot sin(x) notitle;

Używanie etykiet

Używanie etykiet pozwala na wprowadzenie na wykres dowolnego tekstu w konkretnym miejscu i o danym kącie nachylenia. Jak się do tego zabrać? Aby ustalić etykietę, należy podać jej parametry:
set label "treść" at położenie_x, położenie_y rotate by kąt_nachylenia;

Kąt nachylenia nie jest argumentem koniecznym, więc część rotate... może zostać pominięta.

Przykład:
reset;
set title "Wykres funkcji sin(x)";
set xlabel "Argumenty funkcji";
set ylabel "Wartosci funkcji";

set label "Maksimum lokalne" at pi/2 , 1;
set label "Minimum lokalne" at 3*pi/2 , -1;
set label "Wartości w 2. i 3. cwiartce" at (pi+0.5)/2 , 0.75 rotate by -47.5;

plot [0:][-2:2] sin(x) notitle;

Greckie litery

Aby mieć możliwość używania greckich liter podczas generowania wykresów, należy zmienić terminal w GNUplocie, na taki, który potrafi obsłużyć greckie litery. Ja preferuję generowanie skryptu PostScript do pliku (temat terminali i generowania wykresów do pliku będzie podjęty w osobnym artykule).
Terminal zmienimy poleceniem:
set terminal post enhanced colour;

Jeżeli chcemy aby generowany wykres był czarno-biały należy pominąć w powyższym człon odpowiadający za kolorowanie wykresu - colour
Nastepnie należy ustalić plik wyjściowy do którego zostanie wygenerowany wykres (jeżeli nie ustalimy pliku wyjściowego to dla terminala post enhanced, GNUplot wypisze jedynie kolejne polecenia PostScript'u). Wydajmy zatem polecenie:
set out "nazwa_pliku_wyjściowego.ps"

Dobrze. Kiedy GNUplot już wie co i gdzie ma wygenerować, możemy przejść do greckich liter. Używa się ich w sposób nastepujący:
{/Symbol=rozmiar_czcionki_w_pt ciąg_znaków}

Przy czym argument rozmiaru czcionki jest opcjonalny - jeżeli nie chcemy jej zmianiać, powyższe polecenie przybiera taką postać:
{/Symbol ciąg_znaków}

W podanym ciągu_znaków litery alfabetu łacińskiego zostaną zamienione na ich greckie odpowiedniki, czyli np. A - wielka alfa, b - mała beta.

Przykład:
reset;
set terminal post enhanced colour;
set out "wykres.ps"

set title "Wykres funkcji sin({/Symbol a})";
set xlabel "Argumenty funkcji";
set ylabel "Wartosci funkcji";

set label "{/Symbol a=p/2}" at pi/2 , 1.1;
set label "{/Symbol=20 a=3p/2}" at 3*pi/2 , -1.1;
plot [0:][-2:2] sin(x) notitle;

Indeks górny i dolny

Aby używać indeksów w GNUplocie, należ podobnie jak z greckimi literami zmienić terminal na taki, który obsługuje wyświetlanie indeksów.
Oto jak zapisać coś w indeksie górnym:
coś^{ ciąg_znaków }

Z kolei indekst dolny zapisujemy tak:
coś_{ ciąg_znaków }

Aby zapisać indeksy mieszane, musimy napierw poprzedzić je znakiem małpy - @:
coś@^{ ciąg_znaków_indeksu_górnego }_{ ciąg_znaków_indeksu_dolnego }

Przykład:
reset;
set terminal post enhanced colour;
set out "wykres.ps"

set title "Wykres funkcji sin({/Symbol a}^{2})";
set xlabel "Argumenty funkcji";
set ylabel "Wartosci funkcji";

set label "Wartosc_{max}" at pi/2 -0.5 , 1.1;
plot [0:][-2:2] sin(x*x) notitle;

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: