Changement De Boîte À Moustaches Étiquettes De L'Axe Des
J'ai un bloc de données mdata
qui a les colonnes variable
et value
que je me suis tracé sur une boîte à moustaches dans R. je suis traçage log10(valeur) sur l'axe des Y & des variables sur l'axe des abscisses. Je veux changer les étiquettes sur l'axe des Y tels qu'il montre les valeurs d'origine et de ne pas le log10(valeur).
>mdata
ID variable value
SJ5444_MAXGT coding 17455
SJ5426_MAXGT coding 17961
HR1383_MAXGT coding 17579
HR5522_MAXGT coding 17797
CH30041_MAXGT coding 20099
SJ5438_MAXGT coding 17467
Je veux l'axe Y de l'intervalle de de min(mdata$valeur) à max(mdata$valeur) avec un intervalle de 10000. Mais je suis incapable de le faire.
Voici mon code:
boxplot(log10(as.numeric(value))~variable,data=mdata,yaxt="n",border="red",main="Boxplot: Seattle Seq Annotation")
axis(side=2,labels=seq(min(mdata$value),max(mdata$value),10000),cex.axis=0.65,tck=-0.02,at=seq(min(mdata$value),max(mdata$value),by=10000))
J'ai essayé de comprendre quel est le problème ici, mais ce n'est pas évident. Toute aide serait appréciée.
- côté=2 créer l'axe des ordonnées. Et je pense qu'il serait avery mauvaise idée de convertir un ensemble de données.cadre de la matrice lorsque vous avez des colonnes de texte.
- désolé, je voulais créer un axe Y, j'ai édité la faute de frappe.
- Prendre la
as.matrix
, trop. - Vous avez oublié de connecter les valeurs de la
at=
. Pour avoir vu qui a vite été juste d'utiliseraxis(2)
Vous devez vous connecter pour publier un commentaire.
Le problème semble être que votre boxplots sont basés sur
log10
devalue
, alors que l'axe vous êtes dessin utilise les valeurs d'origine. Il y a deux façons de résoudre ce problème. Soit utiliserlog10
pour générer votre axe de tiques ou d'utiliserlog="y"
lorsque vous générez votre boxplots pour faire la transformation de coordonnées. Voici une illustration avec des exemples de données:Choix numéro 1:
Choix numéro 2:
Vous pouvez obtenir les tiques être espacés de manière logarithmique ou linéaire avec la méthode en spécifiant le
at
paramètre de manière appropriée, par exemple, cette commande sera uniformément espacés les marques de graduation sur un terrain généré aveclog="y"
:Essayez ceci (besoin de plus d'une annotation, afin de diminuer l'intervalle):