2016-10-31 3 views
0

Je suis avec les salaires de MLB et j'essaye de tracer une distribution de fréquence pour visualiser l'asymétrie de la figure. J'ai du mal à faire les étiquettes de l'axe des x de mon histogramme. Btw, j'ai eu mes données de salaire MLB de here.Espacer des étiquettes d'axe des x dans R

Voici comment j'ai produit ma distribution:

hist(data, breaks = 33, axes = F) 

Compte tenu de mes salaires vont de 0 à 35 millions $, j'ai produit mes étiquettes comme ça -

x.axis <- pretty(seq(0,35000000, by = 10000000))/10000000 

x.axis 
>[1] 0.0 0.5 1.0 1.5 2.0 2.5 3.0 

Utilisation de la fonction axe() uniquement Trace les 8 premiers labels. Je sais que c'est parce que length(x.axis) = 8.

Existe-t-il un moyen d'espacer les graduations sur mon axe x?

Merci d'avance!

+0

Je ne suis pas sûr de savoir ce que vous voulez dire. J'utilise déjà 'at = y' dans la fonction axis(), mais il ne trace que 8 points le long de l'axe des x, ce qui ne couvre pas l'étendue de ma distribution. – ari8888

+0

Les variables 'y' sont juste les fréquences, que je n'ai pas besoin de définir. Je suppose que je n'ai pas vraiment besoin d'utiliser 'pretty', j'ai juste aimé comment il ajoute un point décimal aux étiquettes de l'axe x. – ari8888

Répondre

0

Compris!

pts <- pretty(data/10000000) 
a <- (seq(0,35000000, by = 5000000)) 

axis(1, at = a, labels = paste(pts, "M", sep ="")) 
+0

Je suis complètement d'accord. – ari8888