2010-09-28 6 views
2

Bonjour sympathiques informaticiens,un barplot en R

Je suis nouveau à la R et je suis obtenir un peu perdu dans le vaste monde de la définition des paramètres de tracé. Actuellement, j'ai un barplot que looks like this. Mon problème principal consiste à nettoyer le graphique de sorte que chaque barre soit associée à une catégorie. À l'heure actuelle, les polices sont définies de sorte qu'elles se chevauchent et ne montrent pas toutes les catégories.

En d'autres termes, je voudrais:

  1. Demandez aux noms de barres lus horizontalement.
  2. Définissez les paramètres de police de sorte que chaque catégorie soit affichée, c'est-à-dire que chaque barre porte un nom. Peut-être que cela implique de réduire la taille de la police?

Toute aide à ce sujet serait grandement appréciée!

Merci :)

Répondre

4

EDIT: Très bonne suggestion de ucfagls inclus. THX!

Voir les options las dans et par cex.names à barplot:?

# Sample dataset 
x <- rpois(10,20) 
names(x) <- replicate(10, 
    paste(sample(LETTERS[1:10],10),collapse="") 
) 

# Demonstration of the options 
op <- par(mar = c(5,6,4,2) + 0.1) 
barplot(x,horiz=T,las=1,cex.names=0.5) 
par(op) 

donne:

alt text

donc votre propre régler le code en utilisant les options las et cex.names. Vérifiez également l'option mar dans la page d'aide? Par pour savoir comment vous pourriez ajuster les valeurs au cas où vos étiquettes tomberaient.

+0

Merci Joris. Je suppose que x représente le dataframe, non? En outre, cela semble éliminer les barres et les renommer avec des lettres, dont je ne veux pas. Y at-il un moyen de le faire tout en conservant les noms actuels et toutes les données, c'est-à-dire les barres? –

+0

@Eric: c'est juste des exemples de données pour vous montrer comment cela fonctionne. La seule chose que vous devriez faire est d'utiliser las = 1 et cex.names = 0.5 (ou une autre valeur qui vous convient). Tout le reste est juste pour que vous puissiez exécuter le code. –

+1

@Eric; vous aurez également (probablement) besoin d'ajouter de l'espace supplémentaire à la marge de gauche de l'intrigue pour accueillir les étiquettes. Vous devez le faire avant l'appel 'barplot()' ** et ** réinitialiser après. Donc, ajoutez 'op <- par (mar = c (5,6,4,2) + 0,1)' ** avant ** le 'barplot (....)', ** et ** 'par (op) '** après ** le' barplot (....) '. Si vous augmentez la hauteur verticale de l'appareil de traçage (fenêtre), vous serez probablement en mesure de vous en sortir sans réduire la taille des étiquettes de la barre (par exemple, vous pourriez omettre le bit «cex.names = 0.5» du code Joris) . –