Ich zeichne einige Punktdaten mit plot3d(). Ich möchte meine Y-Achse Tick-Labels ein wenig näher an meine Y-Achse Tick-Markierungen bringen.R rgl Abstand zwischen den Achsen-Ticks und Tick-Labels
Der beste Weg, die ich denken kann, dies zu tun ist zu
1) zunächst die Daten zeichnen, ohne die Achsen zu zeichnen
2) rufen axis3d(), um die y-Achse zu zeichnen und Skalenmarkierungen aber Etiketten können nicht gezeichnet werden.
3) Abfrage der aktuellen Position jedes Teilstrichs im 3D-Raum. Speichern Sie Positionen in einem Vektor.
4) verwenden mtext3d() Etiketten an Positionen auf einer Anpassung an die Vektor-basierte hinzufügen
Ich bin ein Problem zwar im Schritt 3. Ich weiß nicht, wie die Position jedes Häkchen abzufragen. par3d() ermöglicht es Ihnen, eine Reihe von grafischen Parametern abzufragen, gibt es etwas ähnliches, das ich verwenden kann, um die Position jedes y-Achsen-Ticks zu erhalten?
Bin ich damit falsch? Wahrscheinlich. Hier
ist ein Beispiel Stück Code, ohne Text für y-Achse Etiketten hinzugefügt ....
require(rgl)
x <- rnorm(5)
y <- rnorm(5)
z <- rnorm(5)
open3d()
plot3d(x,y,z,axes=F,xlab="",ylab="",zlab="")
par3d(ignoreExtent=TRUE)
par3d(FOV=0)
par3d(userMatrix=rotationMatrix(0,1,0,0))
axis3d('y',nticks=5,labels = FALSE)
par3d(zoom=1)
par3d(windowRect=c(580,60,1380,900))