R - modifier la taille des étiquettes d'axe pour corrplot
Je suis en utilisant la suite avec corrplo
t:
require("corrplot") ## needs the corrplot package
corrplot(cor(lpp_axis1, lpp_axis2), method=c("number"), bg = "grey10",
addgrid.col = "gray50", tl.offset = 2, tl.cex=2,
tl.col = "black",
col = colorRampPalette(c("yellow","green","navyblue"))(100))
Il est créé avec un fichier csv disponible ici.
Le graphique est très bien et je peux ajuster la cl des étiquettes de tout ce que je veux. J'ai tenté d'ajuster les étiquettes sur l'axe x et y n'a eu aucune incidence. J'ai regardé l'évolution de mar - pourtant, je n'ai pas trouvé un moyen de. Je n'arrivais pas à essayer d'utiliser cex.étiquette modifier la taille.
La question - comment puis-je rendre le texte figurant pour corrplot (pas la cl, et pas dans la grille) plus grand?
Les deux axes sont les suivants trames de données:
lpp_axis1 <- data.frame("Compile Source Code" = Q3A.1, "View Source Code" = Q3A.2, "Change Source Code" = Q3A.3, "Write Documentation" = Q3A.8, "File Bug Reports"= Q3B.3, "Ask Questions" = Q3B.5, "Provide Answers" = Q3B.6, "Overall Participation" = Q3a3bConsolidated)
lpp_axis2 <- data.frame("Identification" = Q1,"Overall Learning" = Q6Consolidated, "Learning Programming" = Q6.1, "Learning about Computers" = Q6.2, "Learning Teamwork" = Q6.3)
La sortie de
str(lpp_axis1)
est
> str(lpp_axis1)
'data.frame': 4603 obs. of 8 variables:
$ Compile.Source.Code : int 4 2 3 2 2 2 3 2 2 0 ...
$ View.Source.Code : int 4 2 1 1 2 2 3 1 1 0 ...
$ Change.Source.Code : int 4 1 0 1 2 1 2 1 1 0 ...
$ Write.Documentation : int 4 1 2 2 3 0 3 0 1 0 ...
$ File.Bug.Reports : int 4 4 1 2 2 0 2 0 0 0 ...
$ Ask.Questions : int 4 4 2 4 2 1 2 1 3 0 ...
$ Provide.Answers : int 2 4 1 4 4 0 3 1 3 0 ...
$ Overall.Participation: int 49 26 14 32 31 8 27 10 15 0 ...
La sortie de
packageDescription("corrplot")
indique:
Package: corrplot
Type: Package
Title: visualization of a correlation matrix
Version: 0.30
Date: 2010-05-30
Author: Taiyun Wei
Suggests: seriation, cairoDevice, Cairo,
Maintainer: Taiyun Wei <weitaiyun@gmail.com>
Description: The corrplot package is a graphical display of a
correlation matrix, confidence interval. It also contains some
algorithms to do matrix reordering.
License: GPL-2 | GPL-3
LazyLoad: yes
URL: http://corrplot.r-forge.r-project.org
Repository: CRAN
Repository/R-Forge/Project: corrplot
Repository/R-Forge/Revision: 45
Date/Publication: 2010-05-31 07:44:14
Packaged: 2010-05-30 20:39:16 UTC; rforge
Built: R 2.11.1; ; 2011-03-19 00:22:49 UTC; unix
-- File: /home/user/R/x86_64-pc-linux-gnu-library/2.11/corrplot/Meta/package.rds
>
La corrplot mainteneur écrit à un autre corrplot.r ici
À l'aide de la ce corrplot et l'exemple de code ci-dessous, la taille du texte est acceptable. Cependant, les tentatives pour augmenter également produire les mêmes effets.
source("http://misterdavis.org/R_info/corrplot.r")
corrplot(cor(lpp_axis1, lpp_axis2), addn=T,
addgrid.col = "gray50", tl.cex=2, assign.col="min2max",
tl.col = "black", cl.ratio=0.4, addcolor="no",
col = colorRampPalette(c("yellow","green","blue"))(100))
À l'aide d'une version antérieure de la corrélation des cercles disponible ici, il est possible d'ajuster le texte à cœur désir. (Si le graphe ne contient pas la fonctionnalité de la plus tard, plus raffiné corrplot paquet.) cex peut être utilisé pour cex. Je peut essayer de bidouiller les deux de trouver un juste milieu comme le temps le permet.
À utiliser les anciens cercles de corrélation de script, le code suivant génère suffisamment grands axes X et Y des étiquettes:
circle.corr(cor(lpp_axis1, lpp_axis2), bg = "gray50", col = colorRampPalette(c("navyblue","white", "red"))(100), cex=1.5)
data(mtcars); corr <- cor(mtcars); corrplot(corr, method = "number")
--- produire que de l'intrigue et puis dire dont les étiquettes que vous voulez augmenter.
OriginalL'auteur Donnied | 2011-03-19
Vous devez vous connecter pour publier un commentaire.
Update2
En fait d'un véritable reproductible exemple est maintenant, merci pour le code et les données fournis:
La
dev.new()
vous permet d'avoir à la fois sur l'écran à la fois, de comparer, sans les diviser le tracé de la région en deux panneaux.La
tl.offset
semble causer plus de problèmes que ce qu'il vaut, donc je l'ai laissée. - Je inclure les deux figures ci-dessous:Avec
tl.cex = 1
Avec
tl.cex = 2
Comme vous pouvez le voir, je ne peux pas reproduire le problème que vous rencontrez;
tl.cex
est seulement la modification de la taille de la taille des étiquettes de l'axe. Remarque c'est sans l'aide detl.offset
mais le reste du tracé de code est le même que le vôtre.C'est ce que je reçois de
packageDescription()
:-- Fichier: /home/gavin/R/libs/corrplot/Meta/paquet.rds
De la comparer avec celle de votre système et essayer de l'exemple ci-dessus, donc nous avons exactement le même code pour la comparaison.
Exemple Original
Voici un exemple reproductible:
Mise à jour
Ok, je vois le problème maintenant. Avec
tl.offset
, vous poussez les étiquettes à l'écart de la corrélation graphique plus loin dans les marges. Cela semble un bug sur infelicity danscorrplot()
comme si vous ne définissez pastl.offset
il met à l'échelle la corrélation graphique pour accueillir les étiquettes. La seule solution que je vois c'est de ne pas mettretl.offset
à tous, ou définissez une valeur plus petite Ici est un exemple extrême:Vous peut d'améliorer les choses, en modifiant les dimensions relatives de la parcelle de l'appareil - si sur l'écran, augmentez la largeur ou la hauteur (ou les deux) de l'intrigue fenêtre de l'appareil jusqu'à ce que toutes les étiquettes sont visibles. Si c'est un autre appareil (
pdf()
oupng()
dire), alors vous aurez besoin de modifier les dimensions de l'appareil lorsque vous le créez.Original Qui [La reproductible exemple] donne:
Vous n'êtes pas clair quel est le problème avec les axes x et y des étiquettes, mais
corrplot()
modifie le tracé des marges pour accueillir les étiquettes. Vous avez déjà indiqué l'importance relative de ces axes x et y des étiquettes en définissant argumenttl.cex = 2
. Si vous voulez que les étiquettes de plus, l'augmentation de cette valeur:et si vous voulez les étiquettes plus petites, ensemble
tl.cex
à une valeur inférieure:Puisqu'il s'agit de la seule x et y étiquettes sur le terrain, cela vous aide? Si non, qui étiquettes besoin de modifier?
i.imgur.com/ABtdF.png
[img]i.imgur.com/af9CZ.png[/img]
vous exécutez la dernière version de CRAN? Qui est de 0,30. Ce n'packageDescription("corrplot")$version dire?
La sortie est NULLE...
OriginalL'auteur Gavin Simpson
Vous pourriez essayer de changer la taille du texte avec par. Je pense que la taille par défaut est de 12.
Ajoutant une ligne comme
par( ps=14)
avantcorrplot
devrait augmenter la taille du texte.Eh bien.. À ce stade, je pourrais être heureux avec ce que si je pouvais changer le texte que je suis en train de changer. Quand je change de tl.cex - ça change tout, mais les étiquettes je veux changer la, la même chose est vraie pour par.
par (ps = 12) + corrplot(cdr(lpp_axis1,lpp_axis2), method=c("nombre"), le tl.cex = 2) crée [URL=imgur.com/ABtdF][IMG]http://i.imgur.com/ABtdF.png[/IMG][/URL]
Cette nominale(ps=14) fonctionne avec l'ancien script; toutefois, il écrit sur le graphique.
OriginalL'auteur David L.
Donné les exemples que vous avez ajouté, vous pourriez avoir à augmenter les dimensions de la parcelle et de définir les marges extérieures pour s'adapter à la longueur de vos étiquettes.
De la trame actuelle de la dimension peut être consulté avec
par()$pin
et les marges extérieures avecpar()$omi
.Vous pouvez modifier la dimension de la parcelle et les marges extérieures en adaptant l'exemple suivant:
tl.offset
dans @Donnied de l'appel. @Donnied revendications, et spectacles en images dans les commentaires à ma réponse quetl.cex
est l'augmentation de la taille de tout, mais la variable labels.merci pour cette remarque. J'avais l'espoir que @David, la réponse devrait améliorer la situation; toutefois, le texte reste minuscule.
OriginalL'auteur David L.