2016-04-21 10 views
-1

Ich habe eine Tabelle in R, aber die Skala der X-und Y-Achse ist nicht wünschenswert. Wie würde ich die x- und y-Achse skalieren, um die Punkte auf dem Diagramm auszugleichen?Wie skaliere ich Achsen in einem Streudiagramm in R?

Ich habe zwei Werte, die ich plotten möchte.

p2 
[1]  0.061  0.380  1.000 
[4]  3.880 140.900 861.460 
[7] 7107.180 27262.082 61585.560 

a3 
[1]  0.058  0.378  1.000 
[4]  3.540 140.810 867.910 
[7] 7057.800 27155.500 61354.900 

plot( 
     p2, 
     a3, 
     main="p2 vs a3", 
     pch=20, 
     type="o" 
) 

Der Code gibt mir über die folgende Handlung

enter image description here

Wie würde ich über gehen die Werte und Maßstab so zu manipulieren, dass die ersten paar Werte häufiger sind, und stellt die Handlung als eine Kurve und nicht als eine gerade Linie. Etwas mehr wie folgt aus:

enter image description here

+0

[Wie ein großes R reproduzierbaren Beispiel machen?] (http://stackoverflow.com/questions/5963269) – zx8754

Antwort

0

Ihr Tag sagt ggplot2, aber Sie verwenden die klassische R Plot.

Wie Sie aussehen, scheint Log-Transformation der X-Achse zu sein.

Für Grundstück:

plot(x = p2, y= a3, main="p2 vs a3", 
    pch=20, type="o",log = "x" 
) 

Wenn Sie beide Achsen neu skalieren wollen:

plot(x = p2, y= a3, main="p2 vs a3", 
    pch=20, type="o",log = "yx" 
) 

Mit ggplot2:

qplot(x = p2, y= a3, title="p2 vs a3", 
    size=I(5), geom="point")+scale_x_log10() 
+0

Danke. Entschuldigung dafür, dass wir die Klärung um ggplot2 herum vermasselt haben. Der klassische R-Code funktioniert, aber die Achsenlegende muss immer noch vom 1e-01-Format in Dezimalzahlen geändert werden. Der ggplot2-Code gibt mir einen Fehler: konnte Funktion "geom_points" nicht finden – slimmey

+0

Sorry, es ist ein Rechtschreibfehler, es sollte "Punkt" 'nicht' "Punkte" sein. – DeveauP

Verwandte Themen