Μετάβαση στο περιεχόμενο

Λογαριθμικοί άξονες με pgfplots

Αντικαταστήστε το axis με semilogyaxis (λογαριθμικός y), semilogxaxis (λογαριθμικός x) ή loglogaxis (και οι δύο), ή ορίστε ymode=log ή xmode=log σε ένα κανονικό axis.

Λογαριθμική κλίμακα στον άξονα y

Οι τιμές που μεγαλώνουν κατά παράγοντες, όπως πλήθη, σφάλματα ή συχνότητες, διαβάζονται καλύτερα σε λογαριθμική κλίμακα. Το semilogyaxis κρατά τον x γραμμικό και κάνει τον y λογαριθμικό. Οι υποδιαιρέσεις βρίσκονται στις δυνάμεις του δέκα και έχουν ετικέτες $10^k$.

Εκθετική αύξηση σε λογαριθμικό άξονα y

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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$ γίνεται ευθεία γραμμή με κλίση τον εκθέτη.

Νόμοι δύναμης σε γράφημα log-log

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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}
Στοιχειοθέτηση από το Scissor LaTeX: Νόμοι δύναμης σε γράφημα log-log

Το ίδιο με xmode και ymode

Τα xmode=log και ymode=log δίνουν σε ένα κανονικό axis λογαριθμική κλίμακα. Αυτό είναι βολικό όταν η επιλογή γίνεται από ένα στυλ ή μέσα σε ένα ομαδικό γράφημα.

xmode=log σε κανονικό άξονα

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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}
Στοιχειοθέτηση από το Scissor LaTeX: xmode=log σε κανονικό άξονα

Οι τύποι λειτουργούν και σε λογαριθμικούς άξονες, αλλά τα domain και samples είναι σε μονάδες δεδομένων: τα δείγματα κατανέμονται ομοιόμορφα ανάμεσα στα δύο άκρα, οπότε σε λογαριθμικό άξονα σχεδόν όλα πέφτουν στην τελευταία δεκάδα. Γι' αυτό το παράδειγμα σχεδιάζει μια παραμετρική καμπύλη στον εκθέτη t, από $10^1$ έως $10^5$, που κατανέμει τα δείγματα ομοιόμορφα κατά μήκος του λογαριθμικού άξονα. Το pgfplots συμπεριφέρεται με τον ίδιο τρόπο.

Άλλη βάση

Το log basis y=2 (ή log basis x) αλλάζει τη βάση. Οι υποδιαιρέσεις βρίσκονται τότε στις δυνάμεις του 2 και έχουν ετικέτες $2^k$.

Βάση 2 στον άξονα y

LaTeXΠροοίμιο: \usepackage{pgfplots}Άνοιγμα στον επεξεργαστή (ανοίγει σε νέα καρτέλα)
\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.

Δείτε επίσης Γραφήματα γραμμών, Ομαδικά γραφήματα και Ισοϋψείς καμπύλες και χάρτες θερμότητας.

Ερωτήσεις και απαντήσεις

Πώς κάνω τον άξονα y λογαριθμικό στο pgfplots;

Χρησιμοποιήστε \begin{semilogyaxis} ... \end{semilogyaxis} αντί για axis, ή προσθέστε ymode=log στις επιλογές του άξονα.

Γιατί το λογαριθμικό μου γράφημα δεν δείχνει δεδομένα;

Ένας λογαριθμικός άξονας δεν μπορεί να δείξει μηδενικές ή αρνητικές τιμές. Τα σημεία με τέτοιες τιμές απορρίπτονται, και η καρτέλα Προβλήματα το αναφέρει. Μετατοπίστε τα δεδομένα ή χρησιμοποιήστε γραμμικό άξονα.

Μπορώ να χρησιμοποιήσω βάση 2 ή βάση e;

Ναι, με log basis y=2 (ή οποιονδήποτε θετικό αριθμό, για παράδειγμα log basis x=2.71828).

Κάθε παράδειγμα σε αυτή τη σελίδα στοιχειοθετείται από το Scissor LaTeX κατά τη δημιουργία του ιστότοπου. Τελευταία ενημέρωση: 2026-11-07.