Oczywiście chociaż pobieżne omówienie podstawowych funkcji pakietu pgfplots przerasta możliwości tego posta (a raczej serii postów, gdyż, jak można wywnioskować z tytułu, planuję ich więcej niż jeden) - w końcu oficjalny manual liczy sobie ponad 300 stron. Dlatego też postanowiłem stworzyć kilka przykładowych, "życiowych", wykresów i omówić pokrótce ich kod, tak aby każdy mógł dostosować go do swoich potrzeb.
Na pierwszy ogień idzie chemia :-)
Oto wykres (użyłem danych z Wikipedii)...
...a oto kod:
\begin{tikzpicture}[scale=1.5]
\begin{axis}[
title={Zależność rozpuszczalności NaCl oraz CuSO$_4\cdot$5H$_2$O od temperatury},
title style={text width=16em},
xlabel={Temperatura [\textcelsius]},
ylabel={Rozpuszczalność [g/100~g wody]},
xmin=0,xmax=100,
ymin=0,ymax=120,
legend pos=north west,
ymajorgrids=true,grid style=dashed
]
\addplot[color=red,mark=*]
coordinates {
(0,35.65)
(10,35.72)
(20,35.89)
(30,36.09)
(40,36.37)
(50,36.69)
(60,37.04)
(70,37.46)
(80,37.93)
(90,38.47)
(100,38.99)
};
\addplot[color=blue,mark=square]
coordinates {
(0,23.1)
(10,27.5)
(20,32)
(30,37.8)
(40,44.6)
(60,61.8)
(80,83.8)
(100,114)
};
\legend{NaCl,CuSO$_4\cdot$5H$_2$O}
\end{axis}
\end{tikzpicture}
Na początku należy oczywiście włączyć pakiet pgfplots dodając następującą linię w preambule dokumentu:
\usepackage{pgfplots}
Jak można zauważyć, cały kod wykresu znajduje się w środowisku axis, które z kolei znajduje się wewnątrz środowiska tikzpicture. Parametr scale umożliwia szybkie przeskalowanie wykresu, dzięki czemu nie musimy go specjalnie poprawiać przenosząc np. z artykułu na prezentację lub plakat.
Środowisko axis generuje nam wykres w dwuwymiarowej przestrzeni kartezjańskiej z osiami "po Bożemu" (istnieją jeszcze środowiska semilogxaxis, semilogyaxis, loglogaxis).
Wewnątrz środowiska axis należy podać przede wszystkim informacje co na wykresie ma być. Innymi słowy - należy zdefiniować serie danych: co ma być dziedziną (punkty X) a co przeciwdziedziną (punkty Y). Do dodania nowej serii danych (funkcji) na wykresie służy polecenie \addplot. Dane możemy albo pobrać z pliku (co pokażę w późniejszych odcinkach serii) albo wpisać je ręcznie, jeśli mamy ich niewiele, w następujący sposób:
\addplot[parametr1,parametr2,...]
coordinates {
(x1,y1)
(x2,y2)
...i tak dalej...
};
W powyższym przykładzie użyłem dwóch parametrów polecenia \addplot: zdefiniowałem kolor (color=) oraz symbol markera (mark=). Jak można zauważyć gwiazdka * w kodzie daje w wyniku koło, zaś square - kwadrat bez wypełnienia. Przy okazji dopowiem, że mark=o daje w wyniku okrąg, zaś wypełniony kwadrat uzyskuje się za pomocą mark=square* (po resztę markerów odsyłam do manuala).
Dobra, umiemy już dodawać dane, czas na inne elementy wykresu. Użyte przeze mnie w powyższym przykładzie parametry środowiska axis to:
- title - tytuł wykresu;
- xlabel, ylabel - etykiety osi X i osi Y;
- xmin, xmax - zakres dla osi X;
- ymin, ymax - zakres dla osi Y;
- title style={text width=16em} - ponieważ tytuł wykresu jest dość długi, dobrym pomysłem jest ograniczyć szerokość tekstu dla tytułu;
- legend pos=north west - legenda wykresu będzie znajdować się w lewym górnym rogu, tak aby nie przysłaniała punktów;
- ymajorgrids=true - dodajemy linie siatki, będące przedłużeniem wartości na osi Y;
- grid style=dashed - linie siatki będą kreślone linią przerywaną.
Na koniec wspomnę jeszcze o poleceniu \legend{wpis1,wpis2,...} które określa zawartość legendy, gdzie wpis1 jest opisem pierwszej serii danych (zdefiniowanej w pierwszym użytym poleceniu \addplot), wpis2 - opisem drugiej serii danych, itd.
I to już koniec na dzisiaj. Życzę miłej zabawy z pakietem pgfplots i zapraszam na następne odcinki serii.
Brak komentarzy:
Prześlij komentarz