pgfplots کے ساتھ لاگرتھمی محور
axis کی جگہ semilogyaxis (لاگ y)، semilogxaxis (لاگ x) یا loglogaxis (دونوں) لکھیں، یا عام axis پر ymode=log یا xmode=log مقرر کریں۔
y محور پر لاگ پیمانہ
جو قدریں ضربی طور پر بڑھتی ہیں، جیسے گنتیاں، غلطیاں یا تعدد، وہ لاگ پیمانے پر بہتر پڑھی جاتی ہیں۔ semilogyaxis x کو لکیری رکھتا ہے اور y کو لاگرتھمی بناتا ہے۔ ٹکس دس کی طاقتوں پر ہوتے ہیں اور ان پر $10^k$ کا لیبل ہوتا ہے۔
لاگ y محور پر قوت نمائی نمو
\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}اس پلاٹ پر سیدھی لکیر کا مطلب ہے ہر قدم پر ایک ہی ضرب سے مستقل نمو۔
دونوں محور لاگرتھمی
loglogaxis دونوں محوروں کو لاگرتھمی بناتا ہے۔ $y = x^2$ جیسا طاقت کا قانون ایک سیدھی لکیر بن جاتا ہے جس کی ڈھلوان قوت نما ہوتی ہے۔
لاگ-لاگ پلاٹ پر طاقت کے قوانین
\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}xmode اور ymode سے یہی کام
xmode=log اور ymode=log عام axis کو لاگ پیمانہ دیتے ہیں۔ یہ اس وقت کارآمد ہے جب انتخاب کسی اسٹائل سے ہو، یا گروپ پلاٹ کے اندر۔
عام محور پر 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}فارمولے لاگ محوروں پر بھی کام کرتے ہیں، مگر domain اور samples ڈیٹا کی اکائیوں میں ہوتے ہیں: نمونے دونوں سروں کے درمیان برابر پھیلے ہوتے ہیں، اس لیے لاگ محور پر تقریباً سب آخری دہائی میں جا گرتے ہیں۔ اسی لیے مثال قوت نما t میں ایک پیرامیٹرک خم پلاٹ کرتی ہے، $10^1$ سے $10^5$ تک، جو نمونوں کو لاگ محور پر برابر پھیلا دیتا ہے۔ pgfplots بھی ایسا ہی برتاؤ کرتا ہے۔
دوسری اساس
log basis y=2 (یا log basis x) اساس بدلتا ہے۔ تب ٹکس 2 کی طاقتوں پر ہوتے ہیں اور ان پر $2^k$ کا لیبل ہوتا ہے۔
y محور پر اساس 2
\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}لاگ محوروں پر آپشنز
| آپشن | Scissor LaTeX میں | نوٹس |
|---|---|---|
semilogxaxis، semilogyaxis، loglogaxis | کام کرتا ہے | |
xmode=log، ymode=log | کام کرتا ہے | |
log basis x=b، log basis y=b | کام کرتا ہے | |
لاگ محور پر ymin، ymax | کام کرتا ہے | مثبت قدریں دیں۔ |
log ticks with fixed point | معاون نہیں | پیغام کے ساتھ نظر انداز؛ لیبل طاقتوں کی صورت میں رہتے ہیں۔ |
لاگ محور پر ybar stacked | معاون نہیں | بارز تہہ دار ہونے کی بجائے ایک دوسرے کے اوپر بنتے ہیں، اور کوئی پیغام نہیں آتا۔ |
| 0 یا اس سے کم قدریں | ہٹا دی جاتی ہیں | جو پوائنٹس لاگ پیمانے پر نہیں دکھائے جا سکتے انہیں ایک پیغام کے ساتھ چھوڑ دیا جاتا ہے۔ |
TeX انسٹالیشن سے کیا مختلف ہے
لکیری محوروں پر بارز کے لیے بار چارٹس دیکھیں اور ہر آپشن کے لیے pgfplots دستی: ctan.org/pkg/pgfplots۔
یہ بھی دیکھیں: لائن پلاٹس، گروپ پلاٹس اور کنٹورز اور ہیٹ میپس۔
سوالات اور جوابات
میں pgfplots میں y محور کو لاگرتھمی کیسے بناؤں؟
axis کی بجائے \begin{semilogyaxis} ... \end{semilogyaxis} استعمال کریں، یا محور کے آپشنز میں ymode=log شامل کریں۔
میرا لاگ پلاٹ کوئی ڈیٹا کیوں نہیں دکھاتا؟
لاگ محور صفر یا منفی قدریں نہیں دکھا سکتا۔ ایسی قدروں والے پوائنٹس ہٹا دیے جاتے ہیں، اور مسائل کا ٹیب یہ بتاتا ہے۔ ڈیٹا کو کھسکائیں یا لکیری محور استعمال کریں۔
کیا میں اساس 2 یا اساس e استعمال کر سکتا ہوں؟
ہاں، log basis y=2 سے (یا کوئی بھی مثبت عدد، مثلاً log basis x=2.71828)۔
اس صفحے کی ہر مثال سائٹ بنتے وقت Scissor LaTeX ٹائپ سیٹ کرتا ہے۔ آخری بار اپ ڈیٹ: 2026-11-07۔