11
votes

R - Changer la taille des étiquettes d'axe pour corplot

J'utilise les éléments suivants avec Corps CODE> T:

circle.corr(cor(lpp_axis1, lpp_axis2), bg = "gray50",   col = colorRampPalette(c("navyblue","white", "red"))(100), cex=1.5)


1 commentaires

Pouvez-vous expliquer les étiquettes des axes X / Y que vous essayez de changer? Un exemple reproductible aide. Voici un: données (MTCARS); Cor <- Cor (MTCARS); Corplot (Corron, méthode = "Numéro") --- Produisez ce tracé et disons ensuite quelles étiquettes que vous souhaitez augmenter.


3 Réponses :


2
votes

Vous pouvez essayer de changer la taille du point du texte avec le pair. Je pense que la taille par défaut est 12.
Ajout d'une ligne comme par (ps = 14) avant corporel doit rendre le texte plus grand.


4 commentaires

Cela affectera tout le texte et @Donnied veut modifier seulement quelques étiquettes.


Eh bien .. À ce stade, je pourrais être heureux avec ça si je pouvais changer le texte que j'essaie de changer. Quand je change tl.cex - ça change tout mais les étiquettes que je veux changer, la même chose est vraie pour le pair.


PAR (PS = 12) + CorppLot (Cor (lpp_axis1, lpp_axis2), méthode = c ("numéro"), tl.cex = 2) crée [URL = imgur.com/abtdf] [img] http://i.imgur.com /Abtdf.png[/img] [/ URL]


Ce par (PS = 14) fonctionne avec le script ancien; Cependant, il écrit sur le graphique.



14
votes

update2

En réalité, un exemple de reproductible réel est maintenant, grâce au code et aux données fournies: xxx

the Dev .New () vous permet d'avoir à la fois à l'écran à la fois à la comparaison, sans diviser la région de traçage en deux panneaux.

Le TL.Offset semble causer Plus de problèmes que cela vaut, donc je l'ai laissé sortir. J'inclus les deux figures ci-dessous:

avec tl.cex = 1

 corplot avec tl.cex = 1

avec tl.cex = 2

 corplot avec tl.cex = 2

Comme vous pouvez le constater, je ne peux pas reproduire le problème que vous voyez; TL.CEX Changement de la taille de la taille des étiquettes de l'axe. Remarque Ceci est sans utiliser tl.offset mais le reste du code de tracé est identique à celui de la vôtre.

C'est ce que je reçois de packagedescription () :: xxx

- fichier: /home/gavin/r/libs/corplot/meta/package.rdsleight/pkackage.rds doit-le avec celui sur Votre système et essayez l'exemple ci-dessus afin que nous exécutions exactement le même code à comparaison.


Exemple original Voici un exemple reproductible: xxx

update

OK, je vois le problème maintenant. Avec tl.offset , vous appuyez sur les étiquettes du graphique de corrélation dans les marges. Cela semble soit un bogue sur une infélicité dans corplot () comme si vous ne définissez pas tl.offset Il échoue au graphique de corrélation pour accueillir les étiquettes. La seule solution que je puisse voir est de ne pas définir tl.offset du tout ou définissez-la sur une valeur inférieure ici est un exemple extrême: xxx

corplot 4

vous peut améliorer les choses, en modifiant Les dimensions relatives du dispositif de tracé - Si à l'écran, augmentez la largeur ou la hauteur (ou les deux) de la fenêtre du dispositif de parcelle jusqu'à ce que toutes les étiquettes soient visibles. Si ceci est un autre périphérique ( pdf () ou png () dire), vous devrez alors modifier les dimensions de l'appareil lorsque vous le créez.


original que [L'exemple reproductible] donne:

 Terrain de corrélation MTCARS

Vous n'êtes pas claire ce que le problème avec les étiquettes x et y axes, mais corplot () modifie les marges de la parcelle pour accueillir le Étiquettes. Vous avez déjà indiqué la taille relative de ces étiquettes X et Y Axe en définissant l'argument tl.cex = 2 . Si vous souhaitez que les étiquettes plus grandes, augmentez cette valeur: xxx

 Terrain de corrélation MTCARS 2

et si vous voulez des étiquettes plus petites, définissez tl.cex à une valeur plus petite: xxx

tracé de corrélation de mtcars 3

donné sont les seuls x et Y labels sur la parcelle, cela aide-t-il? Sinon, quels sont les étiquettes ont besoin de modifier?


19 commentaires

@Gavin Simpson - C'est la façon dont il devrait fonctionner. Cependant, la modification de TL.CEX change tout sauf les étiquettes que j'essaie de changer. Utilisation de Corppot (CdR (LPP_AXIS1, LPP_AXIS2), méthode = C ("Numéro"), TL.CEX = 4) L'autre texte augmente, mais le texte sur les axes X et Y reste minuscule.


@Donnied Exécutez-vous la dernière version de Cran? C'est 0,30. Que dit Packagedescription ("Corplot")?


@Donnied excuses Il aurait dû être $ version avec un capital v . Essayez: packagedescription ("corplot") Version $ . Le point est cependant que j'exécute la dernière version de corplot et it fait fonctionne pour moi et comme documenté, de sorte que vous / nous avons besoin Pour déterminer pourquoi c'est.


Il dit 0,30. Je le dirige sur Debian, mais cela ne devrait pas changer de choses.


@Gavin - pourrait-il être de quelque manière que ce soit liée aux données de données que j'utilise sous forme d'axes?


Quels sont les lpp_axis1 et lpp_axis2 ? Sont-ils tous les deux cadres de données? Est-ce que l'exemple que je fournis avec les données (voitures) fonctionne pour vous? Ou obtenez-vous le comportement étrange que vous rapportez pour votre exemple? Pouvez-vous fournir une sortie de str (lpp_axis1) et l'autre objet de votre question - il suffit de le modifier et d'insérer la sortie à partir de R. Alternativement, si vous pouvez mettre les données quelque part temporairement que je peux obtenir, i Ça va voir si je peux reproduire sur ma machine.


Cet exemple de données (voitures) fonctionne exactement comme affiché. La sortie de STR (lpp_axis1) est la suivante: str (lpp_axis1) 'data.frame': 4603 OBS. de 8 variables: $ Compile.source.Code: int 4 2 3 2 2 2 3 2 2 0 ... $ vue.Source.code: int 4 2 1 1 2 2 3 1 1 1 0 ... $ Change.Source .Code: int 4 1 0 1 2 1 2 1 1 0 ... $ Ecrire.documentation: int 4 1 2 2 3 0 3 0 1 0 ... $ Fichier.bug.Reports: int 4 4 1 2 2 0 2 0 0 0 ... $ Poser.Que.Questtions: int 4 4 2 4 2 1 2 1 3 0 ... $ Fournir.Vestiers: int 2 4 1 4 4 0 3 1 3 0 ... $ Globalement.participation: int 49 26 14 32 31 8 27 10 15 0 ...


Le fichier CSV est ici: MISTERDAVIS.ORG/R_WIKI/R_RESULTS_1231_2010 Les cadres de données en question sont les suivants: LPP_AXIS1 = data.frame ("Compiler le code source" = q3a.1, "Voir le code source" = q3a.2, "Modifier le code source" = q3a.3, "écrivez la documentation" = q3a.8, "Rapports de bugs de fichiers" = Q3B .3, "Posez des questions" = q3b.5, "Fournir des réponses" = q3b.6, "Participation globale" = q3a3bconsolidée) lpp_axis2 = data.frame ("Identification" = q1, "Apprentissage général" = q6consolidée "Programmation d'apprentissage". "= Q6.1," Apprendre sur les ordinateurs "= Q6.2," Travail d'équipe d'apprentissage "= Q6.3)


@Gavin - "Il suffit de le modifier et d'insérer la sortie de r" Je suis désolé; que veux-tu dire?


@Donnied You peut Modifier votre Q pour inclure des informations supplémentaires. Les morceaux de code ne sont pas facilement manipulés dans les commentaires. Regardez les deux commentaires que vous venez de poster - nigh sur incompréhensible.


@Gavin - excuses. Espérons que c'est un peu plus déchiffré maintenant.


@Donnied Pouvez-vous exécuter la mise à jour 2 code de ma réponse (maintenant) et voir ce qui se passe. Problème persiste ou pas? S'il persiste, vérifiez la sortie de packagedescription () que j'ai également inclus dans ma réponse mise à jour.


@Gavin - Voici une copie de ce que je gère votre code TL.CEX 1,2, et 6. Le texte devient progressivement plus petit. i.imgur.com/ozpsg.png


Êtes-vous sûr que le texte devient plus petit? Pour moi, on dirait que cela devient certainement plus gros entre les parcours 1 et 2, mais vous avez des étiquettes aussi longues que la fonction se réserve tant d'espace pour les étiquettes que le changement de taille de la parcelle consiste à tout obstruer. Il y a un problème lorsque vous êtes trop grand avec tl.cex - la fonction vous ignore essentiellement. À ce stade, vous devez parler des développeurs de l'emballage car toutes les tentatives raisonnables de rendre ces travaux ont échoué. Soit nous ne savons pas ce que vous faites ou qu'il y a des bugs dans leur fonction nécessitant une résolution.


@ Gavin- Même lorsque je fais que les parcelles très grandes, la taille du texte reste minuscule dans le coin. Merci, je vais déposer un email et voir ce qui se passe.


@Gavin - Je lui ai laissé tomber un email. Je posterai sa réponse s'il y en a un. Il y a une certaine pièce pour modifier les étiquettes de l'axe mais pas beaucoup. Je vais jouer avec ça et quelques autres choses. Merci pour votre temps.


@Donnied - De rien. S'il vous plaît écrivez avec des commentaires ou votre propre réponse (que vous pouvez accepter) afin que nous puissions fermer votre R.


@Gavin - Eh bien, le créateur a écrit tout de suite. Il m'a envoyé une alternative corplot.r qui a accepté des paramètres alternatifs. Compte tenu du code qu'il fournit, le texte a fière allure. Cependant, le même problème se produit lorsque vous essayez d'augmenter la taille des étiquettes au-delà de 2. Je posterai le code et un lien vers le corplot.r ci-dessus.


Y a-t-il un meilleur moyen de mettre des étiquettes d'axe numérique dans Corplot?



3
votes

Compte tenu des exemples que vous avez ajoutés, vous devrez peut-être augmenter les dimensions de la parcelle et définir les marges extérieures pour accueillir la longueur de vos étiquettes.

La dimension de la parcelle actuelle est accessible avec PAR () $ PIN et les marges extérieures avec par () $ omi .

Vous pouvez modifier la dimension de la parcelle et les marges extérieures en adaptant l'exemple suivant: xxx


 Entrez la description de l'image ici



2 commentaires

Mais c'est seulement à cause du tl.offset dans l'appel de @ Donnied. @Donnied affirme et montre en images dans les commentaires à ma réponse que tl.cex augmente la taille de tout sauf les étiquettes variables.


@Gavin - Merci d'avoir souligné cela. J'espère que la réponse de @ David améliorerait la situation; Cependant, le texte reste minuscule.