Logarithmic axes gamit ang pgfplots
Palitan ang axis ng semilogyaxis (log y), semilogxaxis (log x) o loglogaxis (pareho), o itakda ang ymode=log o xmode=log sa isang karaniwang axis.
Log scale sa y axis
Pinakamadaling basahin sa log scale ang values na lumalaki nang paulit-ulit na multiple, gaya ng counts, errors o frequencies. Pinapanatiling linear ng semilogyaxis ang x at ginagawang logarithmic ang y. Nasa powers of ten ang ticks at may label na $10^k$.
Exponential growth sa log y axis
\begin{tikzpicture}
\begin{semilogyaxis}[xlabel={Day}, ylabel={Cells}, grid=major]
\addplot coordinates {(0,44) (1,120) (2,350) (3,980) (4,2700) (5,7600) (6,21000)};
\end{semilogyaxis}
\end{tikzpicture}Ang tuwid na linya sa plot na ito ay nangangahulugang pare-parehong paglaki nang parehong factor bawat hakbang.
Logarithmic ang dalawang axis
Ginagawang logarithmic ng loglogaxis ang dalawang axis. Nagiging tuwid na linya ang power law gaya ng $y = x^2$, na ang slope ay ang exponent.
Power laws sa log-log plot
\begin{tikzpicture}
\begin{loglogaxis}[xlabel=$n$, ylabel={Time (s)}, legend pos=north west]
\addplot coordinates {(10,0.001) (100,0.01) (1000,0.1) (10000,1)};
\addplot coordinates {(10,0.0001) (100,0.01) (1000,1) (10000,100)};
\legend{$O(n)$, $O(n^2)$}
\end{loglogaxis}
\end{tikzpicture}Ganoon din gamit ang xmode at ymode
Binibigyan ng xmode=log at ymode=log ng log scale ang isang karaniwang axis. Kapaki-pakinabang ito kapag isang style ang pumipili, o sa loob ng isang group plot.
xmode=log sa karaniwang axis
\begin{tikzpicture}
\begin{axis}[xmode=log, xlabel={Frequency (Hz)}, ylabel={Gain (dB)}, ymin=-30, ymax=5]
\addplot[blue, thick, domain=1:5, samples=60, variable=t]
({10^t}, {-10*log10(1 + (10^t/1000)^2)});
\end{axis}
\end{tikzpicture}Gumagana rin ang mga formula sa log axes, pero nasa data units ang domain at samples: pantay na ikinakalat ang samples sa pagitan ng dalawang dulo, kaya sa log axis halos lahat sila ay napupunta sa huling decade. Kaya nagpa-plot ang halimbawa ng parametric curve sa exponent na t, mula $10^1$ hanggang $10^5$, na pantay na nagkakalat ng samples sa kahabaan ng log axis. Ganoon din kumikilos ang pgfplots.
Ibang base
Binabago ng log basis y=2 (o log basis x) ang base. Nasa powers of 2 na ang ticks at may label na $2^k$.
Base 2 sa y axis
\begin{tikzpicture}
\begin{semilogyaxis}[log basis y=2, xlabel={Doublings}, ymin=1, ymax=64]
\addplot coordinates {(0,1) (1,2) (2,4) (3,8) (4,16) (5,32)};
\end{semilogyaxis}
\end{tikzpicture}Mga option sa log axes
| Option | Sa Scissor LaTeX | Mga tala |
|---|---|---|
semilogxaxis, semilogyaxis, loglogaxis | Gumagana | |
xmode=log, ymode=log | Gumagana | |
log basis x=b, log basis y=b | Gumagana | |
ymin, ymax sa log axis | Gumagana | Magbigay ng positibong values. |
log ticks with fixed point | Hindi suportado | Binabalewala nang may mensahe; nananatiling powers ang labels. |
ybar stacked sa log axis | Hindi suportado | Iginuguhit nang patong-patong ang bars, hindi naka-stack, at walang mensaheng ipinapakita. |
| values na 0 o mas mababa | Inaalis | Hindi isinasama ang mga point na hindi maipapakita sa log scale, na may isang mensahe. |
Ang naiiba sa isang TeX installation
Tingnan ang bar charts para sa bars sa linear axes at ang pgfplots manual para sa bawat option: ctan.org/pkg/pgfplots.
Tingnan din ang Line plots, Group plots at Contours at heat maps.
Mga tanong at sagot
Paano ko gagawing logarithmic ang y axis sa pgfplots?
Gamitin ang \begin{semilogyaxis} ... \end{semilogyaxis} sa halip na axis, o idagdag ang ymode=log sa axis options.
Bakit walang data na lumalabas sa log plot ko?
Hindi kayang ipakita ng log axis ang zero o negatibong values. Inaalis ang mga point na may ganoong values, at sinasabi ito ng Problems tab. I-shift ang data o gumamit ng linear axis.
Puwede ba akong gumamit ng base 2 o base e?
Oo, gamit ang log basis y=2 (o anumang positibong numero, halimbawa log basis x=2.71828).
Bawat halimbawa sa page na ito ay tina-typeset ng Scissor LaTeX kapag binubuo ang site. Huling na-update noong 2026-11-07.