pgfplots ile logaritmik eksenler
axis yerine semilogyaxis (logaritmik y), semilogxaxis (logaritmik x) veya loglogaxis (ikisi de) kullanın ya da normal bir axis üzerinde ymode=log veya xmode=log ayarlayın.
y ekseninde logaritmik ölçek
Sayımlar, hatalar veya frekanslar gibi katlarla büyüyen değerler en iyi logaritmik ölçekte okunur. semilogyaxis, x'i doğrusal tutar ve y'yi logaritmik yapar. İşaret çizgileri onun kuvvetlerinde durur ve $10^k$ olarak etiketlenir.
Logaritmik y ekseninde üstel büyüme
\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}Bu grafikteki düz bir çizgi, her adımda aynı katsayıyla sabit büyüme anlamına gelir.
İki eksen de logaritmik
loglogaxis iki ekseni de logaritmik yapar. $y = x^2$ gibi bir kuvvet yasası, eğimi üs olan düz bir çizgiye dönüşür.
Log-log grafikte kuvvet yasaları
\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}Aynısı xmode ve ymode ile
xmode=log ve ymode=log, normal bir axis'e logaritmik ölçek verir. Bu, seçim bir stil tarafından ya da bir grup grafiğinin içinde yapıldığında kullanışlıdır.
Normal bir eksende xmode=log
\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}Formüller logaritmik eksenlerde de çalışır, ancak domain ve samples veri birimleri cinsindendir: örnekler iki uç arasında eşit dağıtılır, bu yüzden logaritmik bir eksende neredeyse hepsi son onluğa düşer. Bu nedenle örnek, $10^1$'den $10^5$'e kadar t üssü üzerinden parametrik bir eğri çizer; bu da örnekleri logaritmik eksen boyunca eşit dağıtır. pgfplots da aynı şekilde davranır.
Başka bir taban
log basis y=2 (veya log basis x) tabanı değiştirir. İşaret çizgileri bu durumda 2'nin kuvvetlerinde durur ve $2^k$ olarak etiketlenir.
y ekseninde 2 tabanı
\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}Logaritmik eksenlerde seçenekler
| Seçenek | Scissor LaTeX'te | Notlar |
|---|---|---|
semilogxaxis, semilogyaxis, loglogaxis | Çalışır | |
xmode=log, ymode=log | Çalışır | |
log basis x=b, log basis y=b | Çalışır | |
logaritmik eksende ymin, ymax | Çalışır | Pozitif değerler verin. |
log ticks with fixed point | Desteklenmiyor | Bir iletiyle yok sayılır; etiketler kuvvet olarak kalır. |
logaritmik eksende ybar stacked | Desteklenmiyor | Sütunlar yığılmaz, birbirinin üzerine çizilir ve ileti gösterilmez. |
| 0 veya daha küçük değerler | Atılır | Logaritmik ölçekte gösterilemeyen noktalar tek bir iletiyle dışarıda bırakılır. |
TeX kurulumundan farkları
Doğrusal eksenlerdeki sütunlar için sütun grafikleri sayfasına, her seçenek için pgfplots kılavuzuna bakın: ctan.org/pkg/pgfplots.
Ayrıca bkz. Çizgi grafikleri, Grup grafikleri ve Kontur grafikleri ve ısı haritaları.
Sorular ve yanıtlar
pgfplots'ta y ekseni nasıl logaritmik yapılır?
axis yerine \begin{semilogyaxis} ... \end{semilogyaxis} kullanın ya da eksen seçeneklerine ymode=log ekleyin.
Logaritmik grafiğim neden veri göstermiyor?
Logaritmik bir eksen sıfır veya negatif değerleri gösteremez. Bu değerlere sahip noktalar atılır ve Sorunlar sekmesi bunu belirtir. Verileri kaydırın ya da doğrusal bir eksen kullanın.
2 veya e tabanını kullanabilir miyim?
Evet, log basis y=2 ile (ya da herhangi bir pozitif sayıyla, örneğin log basis x=2.71828).
Bu sayfadaki her örnek, site oluşturulurken Scissor LaTeX tarafından dizilir. Son güncelleme: 2026-11-07.