MC, 22:46 czwartek, 20.01.2011 r.
GNUplot: część 10. - Ustawienia czcionki poszczególnych elementów
Globalne ustawienia czcionki wykresu, legendy oraz poszczególnych elementów
Bardzo ważnym elementem każdego czytelnego wykresu jest odpowiednio dobrana czcionka i jej rozmiar. Chciałbym w tym artykule pokazać jak zapanować nad tym aspektem w programie GNUplot.Ustawienia globalne
Aby zmienić ustawienia czcionki w sposób globalny, czyli dotyczący każdego elementu wykresu, należy poinformować o tym program podczas włączania odpowiedniego terminala. Posłużę się przykładem terminala gif, który jak łatwo się domyślić pozwala na generowanie wykresów do pliku graficznego gif. Załóżmy, że chcemy aby wszystkie elementy tekstowe naszego wykresu powstały z użyciem czcionki Helvetica o rozmiarze 20 pt. Wydajmy zatem polecenie:
set terminal gif font "Helvetica,20"
Sądzę, że zasada jest prosta i nie trzeba tłumaczyć składni tego
polecenia, które zaowocuje tym, że zarówno czcionką użytą do opisów oś,
podziałek, legendy i ewentualnych etykiet będzie właśnie Helvetica w
rozmiarze 20 pt.
Ustawienia indywidualne
Teraz chciałbym przejść do omówienia zagadnienia ustawień czcionki poszczególnych elementów wykresu. Aby było to możliwe, używany przez nas terminal musi obsługiwać rozszerzone ustawienia tekstu - włączymy tę opcję podczas ustalania terminala. W tym przykładzie również posłużę się terminalem gif i pozostawię ustawienia globalne czcionki. Spowoduje to, że wszystkie elementy będą miały ustawienia globalne, chyba że dla któregoś z nich zmienimy je na inne, a tym właśnie się zajmiemy. Najpierw jednak ustalmy terminal:
set terminal enhanced font "Helvetica,20"
Gdy mamy terminal gotowy do obsługi rozszerzonych możliwości ustawień
tekstowych, spróbujmy pozmieniać trochę wygląd naszych elementów. Jak
się za to zabrać pokażę na przykładzie tytułu wykresu:
set title "{/Times=27 Tytuł naszego wykresu}"
Tym sposobem tytuł wykresu będzie zapisany za pomocą czcionki Times o
rozmiarze 27 pt., podczas gdy pozostałe elementy będą wypisane
czcionką Helvetica 20pt.
Zajmijmy się teraz składnią powyższego
polecenia. Opcja enhanced używanego terminala pozwoliła nam a
zmianę czcionki dla tekstu zawartego w nawiasach klamrowych {
}. Najważniejszy jednak jest pierwszy człon znajdujący się w
tych nawiasach (aby ustawienia zadziałały konieczne jest by był to
pierwszy człon!), mianowicie /Times=27. To tutaj następuje
właściwa zmiana ustawień. Całość zatem wygląda tak:
{/Nazwa_czcionki=rozmiar_czcionki Tekst, który mają obejmować ustawienia}
W taki sposób możemy zmieniać ustawienia wszystkich elementów
tekstowych. Dajmy temu jeszcze jeden przykład - podpis osi X:
set xlabel "{/System=15 Argument funkcji sinus}"
Ustawienia czcionki użytej w legendzie
Najczęściej zmieniane przeze mnie ustawienia czcionki dotyczą legendy. Uważa, że wykres wygląda estetycznie, gdy cechuje ją czcionka o nieco mniejszym rozmiarze. Oczywiście możemy zrobić to kierując się wskazówkami z poprzedniego podpunktu, czyli np. w taki sposób:
reset;
set terminal gif enhanced font "Helvetica,20";
plot sin(x) title "{/Times=10 Funkcja sinus}";
Oczywiście jest to całkowicie poprawny i skuteczny sposób na
wprowadzenie zmian ustawień czcionki poszczególnych elementów legendy,
chciałbym jednak pokazać w jaki sposób wprowadzić dla niej globalne
ustawienia. Wydajmy polecenie:
set terminal gif enhanced font "Helvetica,20";
plot sin(x) title "{/Times=10 Funkcja sinus}";
set key font "Times,10"
Dzięki globalnym ustawieniom nie musimy zmieniać ustawień każdego z
podpisów funkcji - zostaną wypisane Times'em o rozmiarze 10 pt.
Polecam wprowadzić do programu poniższe polecenia podsumowujące ten
artykuł.
Przykład:
reset;
set terminal wxt enhanced font "Helvetica,15"; set title "{/Times=20 Wykres kilku funkcji}";
set xlabel "Argumenty";
set ylabel "Wartosci"; set key font "System,10"; plot sin(x) title "Funkcja sinus", cos(x) title "Funkcja cosinus", 2*x+3 title "{/Times=10 Prosta}";
set terminal wxt enhanced font "Helvetica,15"; set title "{/Times=20 Wykres kilku funkcji}";
set xlabel "Argumenty";
set ylabel "Wartosci"; set key font "System,10"; plot sin(x) title "Funkcja sinus", cos(x) title "Funkcja cosinus", 2*x+3 title "{/Times=10 Prosta}";
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!