Éviter le chevauchement des étiquettes des axes dans R

je veux tracer les données dans un graphique avec une taille de police plus grande pour les lables.

x = c(0:10)
y = sin(x) + 10

plot (
    x, y, type="o",
    xlab = "X values",
    ylab = "Y values",
    cex.axis = "2",
    cex.lab = "2",
    las = 1
)

malheureusement, les nombres sur l'axe des y chevauchent l'étiquette de l'axe des Y. J'ai essayé d'utiliser mar, mais cela ne fonctionne pas (au fait, comment puis-je trouver les graphiques des paramètres peut être utilisé directement dans la commande plot et qui doivent être réglés avec le par()-méthode? ).

Comment puis-je éviter que les étiquettes se chevauchent?

Merci pour votre aide.

Sven

11
demandé sur agamesh 2011-07-21 19:16:46

3 réponses

Utiliser par(mar) pour augmenter la parcelle marges et par(mgp) pour déplacer l'axe de l'étiquette.

par(mar = c(6.5, 6.5, 0.5, 0.5), mgp = c(5, 1, 0))
#Then call plot as before

Dans la page d'aide ?par il explique quels paramètres peuvent être utilisés directement dans plot et qui doit être appelé par par.

il y a plusieurs paramètres qui ne peuvent être définis que par un appel à ' par ()’:

    • ‘"ask"’,

    • ‘"fig"’, ‘"fin"’,

    • ‘"lheight"’,

    • ‘"mai"’, ‘"mar"’, ‘"mex"’, ‘"mfcol"’, ‘"mfrow"’, ‘"mfg"’,

    • ‘"new"’,

    • ‘"oma"’, ‘"omd"’, ‘"omi"’,

    • ‘"pin"’, ‘"plt"’, ‘"ps"’, ‘"pty"’,

    • ‘"usr"’,

    • ‘"xlog"’, ‘"ylog"’

 The remaining parameters can also be set as arguments (often via
 ‘...’) to high-level plot functions such as ‘plot.default’,
 ‘plot.window’, ‘points’, ‘lines’, ‘abline’, ‘axis’, ‘title’,
 ‘text’, ‘mtext’, ‘segments’, ‘symbols’, ‘arrows’, ‘polygon’,
 ‘rect’, ‘box’, ‘contour’, ‘filled.contour’ and ‘image’.  Such
 settings will be active during the execution of the function,
 only.  However, see the comments on ‘bg’ and ‘cex’, which may be
 taken as _arguments_ to certain plot functions rather than as
 graphical parameters.
17
répondu Richie Cotton 2011-07-21 15:50:38

La façon rapide et sale serait d'utiliser par et ajouter un saut de ligne dans