2016-07-19 3 views
1

Wie transform asp = 1 von Plot in R zu ggplots. Thema (aspect.ratio = 1) ist nicht die Antwort.Übersetzen Asp = 1 von Plot zu während mit cmdscale

Problem: Gegeben 3 Punkte, A, B und C, wobei Abstand zwischen A - B 50 und von C nach A oder B ist 25. Diese Information wird in einer Matrix m.hipo gespeichert.

fit.hipo <- cmdscale(m.hipo, eig = TRUE, k = 2) 
x.hipo <- fit.hipo$points[, 1] 
y.hipo <- fit.hipo$points[, 2] 
plot(x.hipo,y.hipo,asp=1) ### Makes the good plot because of asp=1 
plot(x.hipo,y.hipo) ### Makes not the desired plot 

:

dput(m.hipo) 
structure(c(0L, 50L, 25L, 50L, 0L, 25L, 25L, 25L, 0L), .Dim = c(3L, 
3L), .Dimnames = list(c("A", "B", "C"), c("A", "B", "C"))) 

In R beim regulären Grundstück verwendet wird asp die gute Handlung zu produzieren benötigt! http://imgur.com/9wENc7I "gute Handlung"

! http://imgur.com/iGumf4b "nicht erwünscht Plot"

Wenn ggplots den Code verwendet wird:

datahipo<-data.frame(x.hipo,y.hipo) 

dput(datahipo) 
structure(list(x.hipo = c(25, -25, -1.13686837721616e-15), y.hipo = c(5.84003863998217e-07, 
5.84003863998217e-07, 2.65574210060648e-23)), .Names = c("x.hipo", 
"y.hipo"), row.names = c("A", "B", "C"), class = "data.frame") 



phipo<-ggplot(datahipo, aes(x.hipo,y.hipo)) + 
    geom_point(color = 'red') + 
    geom_text_repel(aes(label = row.names(dist.hipo)),size=8) + 
    theme_classic(base_size = 24) + 
    theme(axis.text=element_text(size=24),axis.title=element_text(size=24,face="bold")) + 
    labs(list(title = "MDS for Control Proteins (Sequence)", x = First Dimension", y = "Second Dimension")) + 
    theme(axis.line.x = element_line(color="black", size = 1), axis.line.y = element_line(color="black", size = 1)) 

und erzeugt das gleiche wie die nicht gewünschten Handlung, auch wenn es verwendet:

phipo + theme(aspect.ratio = 1) ### makes the not desired plot. 
+0

Könnten Sie dput (datahipo) hinzufügen? für diese Reproduzierbarkeit – Nate

+0

Ja, ich habe dput für Anfangsdaten (m.hipo) und für Datenhipo hinzugefügt. –

+0

Ich werde versuchen, daran zu arbeiten, in ein bisschen, Vollzeit-Job im Weg meiner Stacking ... – Nate

Antwort

0

Hier ist eine Arbeit um :

lim_var <- max(datahipo) 

ggplot(datahipo, aes(x.hipo,y.hipo)) + 
    geom_point(color = 'red') + 
    coord_fixed(xlim = c(-lim_var, lim_var), ylim =c(-lim_var, lim_var)) 

habe ich versucht, die coord_fixed(ratio = 1) Lösung in der 012.330 dargebrachtwurde von Aosmith verlinkt, konnte aber nicht das gewünschte Ergebnis erzielen. Nicht sicher, warum das ist, vielleicht Grafikgeräte Einstellung ?, hat jemand irgendwelche Ideen?