R - ändert die Größe der Achsenbeschriftungen für corrplot
Ich bin mit dem folgenden mit 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))
Dies ist mit einer csv-Datei zur Verfügung hier.
Die Grafik ist in Ordnung und ich kann einstellen, dass die cl-labels will ich nicht. Ich habe versucht, die Anpassung der Etiketten auf der x-und y-Achse keine Auswirkung. Ich sah Sie an wechselnden mar - noch habe ich keinen Weg gefunden. Ich hatte keinen Erfolg mit dem Versuch zu verwenden, cex.label um die Größe zu ändern.
Die Frage - wie kann ich den text für corrplot (nicht die cl und nicht in das raster größer?
Den beiden Achsen sind die folgenden Daten-frames:
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)
Die Ausgabe von
str(lpp_axis1)
ist
> 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 ...
Die Ausgabe von
packageDescription("corrplot")
zeigt:
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
>
Den corrplot Betreuer schrieb zurück, die mit einer alternativen corrplot.r zur hier
Mithilfe des corrplot und der Beispiel-code unten, die Schriftgröße ist akzeptabel. Allerdings versuche erhöhen, erzeugen auch dieselben Wirkungen.
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))
Mithilfe einer früheren version die Korrelation Kreisen zur Verfügung hier, es ist möglich, passen Sie den text, um das Herz Begehren. (Obwohl der graph fehlt etwas von der Funktionalität der späteren, mehr verfeinert corrplot-Paket.) cex kann verwendet werden, für cex. Ich kann versuchen, Sie zu zwicken, die beiden kommen mit, ein glückliches medium, wie es die Zeit erlaubt.
Mithilfe der älteren Korrelation Kreise Skript, der folgende code erzeugt, der hinreichend großen X-und Y-Achse Etiketten:
circle.corr(cor(lpp_axis1, lpp_axis2), bg = "gray50", col = colorRampPalette(c("navyblue","white", "red"))(100), cex=1.5)
- können Sie erklären, welche x - /y-Achse Etiketten, die Sie versuchen zu ändern? Ein reproduzierbares Beispiel hilft. Hier ist einer:
data(mtcars); corr <- cor(mtcars); corrplot(corr, method = "number")
--- Produkte, die den plot und dann sagen die Etiketten, die Sie wollen, zu erhöhen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update2
Tatsächlich eine echte reproduzierbare Beispiel ist nun, Dank code und Daten zur Verfügung gestellt:
Den
dev.new()
können Sie beide auf dem Bildschirm auf einmal zu vergleichen, ohne die Aufteilung der Plot-region in zwei Bereiche auf.Den
tl.offset
scheint mehr Probleme verursachen, als es Wert ist, so habe ich es weggelassen. Habe ich auch die folgenden beiden Abbildungen:Mit
tl.cex = 1
Mit
tl.cex = 2
Wie Sie sehen können, ich kann das problem nicht reproduzieren, die Sie sehen;
tl.cex
ist nur das ändern der Größe der Größe der Achsenbeschriftungen. Hinweis: dies ist ohne Verwendungtl.offset
aber der rest von der Plot-code ist der gleiche wie der Eure.Dies ist es, was ich von
packageDescription()
:-- File: /home/gavin/R/libs/corrplot/Meta/package.rds
Vergleichen Sie es mit dem eine auf Ihrem system und versuchen, das obige Beispiel so laufen wir genau den gleichen code für Vergleich.
Ursprünglichen Beispiel
Hier ist eine reproduzierbare Beispiel:
Update
Ok, ich sehe das problem jetzt. Mit
tl.offset
drücken Sie die Etiketten entfernt von der Korrelation Grafik weiter in die Ränder. Das scheint entweder ein bug auf infelicity incorrplot()
als wenn Sie nicht gesetzttl.offset
es Skalen die Korrelation Grafik zur Aufnahme der Etiketten. Die einzige Lösung, die ich sehen kann, ist nichttl.offset
auf allen, oder auf einen kleineren Wert, Hier ist ein extremes Beispiel:Du kann Dinge verbessern, durch ändern der relativen Abmessungen der plot device - wenn auf dem Bildschirm, erhöhen Sie die Höhe oder Breite (oder beide) der plot device " - Fenster, bis alle labels sichtbar sind. Wenn dies ist ein weiteres Gerät (
pdf()
oderpng()
sagen), dann müssen Sie ändern die Abmessungen des Gerätes, wenn Sie es schaffen.Original die [Die reproduzierbare Beispiel] gibt:
Ihnen nicht klar, was das problem mit den x-und y-Achsenbezeichnungen, aber
corrplot()
verändert die Handlung Ränder zur Aufnahme der Etiketten. Sie haben bereits die relative Größe der x-und y-Achsenbeschriftung durch die Einstellung argumenttl.cex = 2
. Wenn Sie möchten, dass die Etiketten größer, erhöhen Sie diesen Wert:und wenn Sie möchten, dass kleinere labels, eingestellt
tl.cex
auf einen kleineren Wert:Gegeben, nur diese sind für x und y-labels auf dem Grundstück, wird diese Hilfe? Wenn nicht, die Etiketten benötigen, verändern?
$Version
mit einem KapitalV
. Versuchen:packageDescription("corrplot")$Version
. Der Punkt ist jedoch, dass ich die neuste version voncorrplot
und es nicht Arbeit für mich und wie dokumentiert, so dass Sie/wir müssen herausfinden, warum das so ist.lpp_axis1
ein, undlpp_axis2
? Sind Sie beide data-frames? Funktioniert das Beispiel, das ich mitdata(cars)
für Sie arbeiten? Oder bekommt man das seltsame Verhalten melden Sie sich für Ihr Beispiel. Können Sie uns die Ausgabe vonstr(lpp_axis1)
und die andere Sache, die in Ihrer Frage - nur Bearbeiten Sie Sie und fügen Sie die Ausgabe von R. Alternativ, wenn man die Daten irgendwo temporär, ich kann, ich werde sehen, ob ich das reproduzieren kann auf meinem Rechner.packageDescription()
, dass ich auch in meiner Antwort aktualisiert.tl.cex
- die Funktion im Grunde ignoriert Sie. An diesem Punkt, die Sie benötigen, zu sprechen, der Entwickler des Pakets, da alle vernünftigen versuche, diese Arbeit zu machen, sind gescheitert. Entweder wissen wir nicht, was zum Teufel wir tun, oder es gibt Fehler in Ihrer Funktion, die benötigen zu lösen.Könnten Sie versuchen, ändern Sie den Schriftgrad von text mit par. Ich denke, die Standard-Größe ist 12.
Hinzufügen einer Zeile wie
par( ps=14)
vorcorrplot
sollte der text größer.Gegeben, die Beispiele, die Sie Hinzugefügt haben, müssen Sie möglicherweise erhöhen Sie die Dimensionen der Handlung, und legen Sie die äußeren Ränder, um Platz für die Länge Ihrer Etiketten.
Den aktuellen plot dimension zugegriffen werden kann, mit
par()$pin
und die äußeren Ränder mitpar()$omi
.Können Sie ändern Sie den plot-dimension und den äußeren Rändern durch die Anpassung das folgende Beispiel:
tl.offset
im @Donnied nennen. @Donnied Ansprüche, und zeigt in Bildern in den Kommentaren zu meiner Antwort, dasstl.cex
ist die Erhöhung der Größe der alles, aber die variable Etiketten.