Modification de l'espacement des graduations sur l'axe d'un complot?
Comment puis-je modifier l'espacement des graduations sur l'axe d'un complot?
Quels paramètres dois-je utiliser avec la base de la parcelle ou avec rgl
?
Vous devez vous connecter pour publier un commentaire.
Il y a au moins deux façons de réaliser cela dans base graphique (mes exemples sont pour l'axe des x, mais le travail de même pour l'axe y):
Utilisation
par(xaxp = c(x1, x2, n))
ouplot(..., xaxp = c(x1, x2, n))
de définir la position (x1
&x2
) de l'extrême marques de graduation et le nombre d'intervalles entre les marques de graduation (n
). En conséquence,n+1
est le nombre de graduations dessinée. (Cela ne fonctionne que si vous n'utilisez aucune échelle logarithmique, pour le comportement avec des échelles logarithmiques voir?par
.)Vous pouvez désactiver l'affichage de l'axe complètement et ajouter les marques de graduation plus tard avec
axis()
.Pour supprimer le dessin de l'axe de l'utilisation
plot(... , xaxt = "n")
.Appelez ensuite
axis()
avecside
,at
, etlabels
:axis(side = 1, at = v1, labels = v2)
. Avecside
se référant à côté de l'axe (1 = axe des x, 2 = axe des y),v1
être un vecteur contenant la position des tiques (par exemple,c(1, 3, 5)
si votre axe varie de 0 à 6 et que vous souhaitez les trois marques), etv2
un vecteur contenant les étiquettes pour le graduations (doit être de la même longueur quev1
, par exemple,c("group a", "group b", "group c")
). Voir?axis
et ma mise à jour de répondre à un post sur les stats.stackexchange pour un exemple de cette méthode.formatC
ouprettyNum
pour la création de personnage vecteurs pour être passé àlabels
. E. g.:formatC(seq(0,2,0.5), digits = 1, format = "f")
n
est en fait le nombre de graduations-1
. Je voulais graduations de1
à9
et avait pour définirxaxp = c(1, 9, 8)
ou je ne serais pas obtenir le résultat souhaité.par(xaxp..)
. Il ne fonctionne que quand je l'ai mis à l'intérieur de laplot(xaxp...)
Avec des graphismes de base, le plus simple est d'arrêter le tracé de fonctions à partir d'axes de dessin, puis les dessiner vous-même.
las
dans ?par qui peut être ajouté à un appel àaxis()
, et qui contrôle l'orientation des étiquettes de graduation. E. g.axis(side = 1, at = c(1,5,10), las = 2)
. Vous pourriez vouloir examiner s'il existe unaxis()
fonction de chron objets ou d'envisager l'utilisation de R la Date du Temps des classes, qui ont déjàaxis()
fonctions (par exemple,axis.Date()
pour la classe", "Date"').J'ai un jeu de données dans le Temps avec l'axe des x, et que l'Intensité de l'axe y de. J'avais besoin d'abord supprimer tous les défaut des axes à l'exception de l'axe des étiquettes avec:
Puis-je reconstruire le complot des éléments avec:
Donc,
at = c(...)
spécifie le regroupement de postes de mettre les marques de graduation. Ici, je voudrais mettre les marques en 0, 100, 200,..., 1000.seq(from =...,to =...,by =...)
me donne le choix de limites et de les augmentations.Et si vous ne voulez pas R pour ajouter des décimales ou des zéros, vous pouvez arrêter de l'élaboration de l'axe x ou l'axe des y ou les deux en utilisant ...axt. Ensuite, vous pouvez ajouter votre propre tiques et les étiquettes:
flag
avecyaxt=flag
MAIS le truc c'est que si vous voulez les étiquettes sur, puis définissezflag <- "s"
et si vous ne voulez pas les étiquettes standard puis utilisezflag <- "n"
(Ajout de cela, parce qu'il m'a fallu un certain temps pour trouver "s")Je viens de découvrir la Hmisc package: