Automatische Anpassung der Margen im horizontalen Balkendiagramm

Brauche ich, um zu produzieren eine Reihe von horizontal gruppierte Balkendiagramme. Die Funktion barplot nicht automatisch passen Sie die Ränder des Diagramms, also der text wird abgeschnitten.

  graphics.off()      # close graphics windows
   test <- matrix(c(55,65,30, 40,70,55,75,6,49,45,34,20), 
                  nrow =3 , 
               ncol=4, 
               byrow=TRUE,
               dimnames = list(c("Subgroup 1", "Subgroup 2", "Subgroup 3"),
                               c(
                                 "Category 1 Long text",
                                 "Category 2 very Long text",
                                 "Category 3 short text",
                                 "Category 4 very short text"
                                 )))
  barplot(test, 
       las=2,
       beside = TRUE,
       legend=T,
       horiz=T)

Automatische Anpassung der Margen im horizontalen Balkendiagramm

Ich kann nicht finden, eine option, um automatisch verschieben Sie Sie weiter nach rechts, dem Weg R dotchart Funktion hat es ( (barchart-Prozedur in SAS passt die Ränder auch automatisch). Natürlich kann ich immer anpassen, die Seitenränder manuell mit par-Funktion.

  par(mar=c(5.1, 13 ,4.1 ,2.1))

bewegen wird, das Grundstück auf der rechten

Automatische Anpassung der Margen im horizontalen Balkendiagramm

Gibt es eine option zum verschieben der plot auf der rechten Seite (D. H. die Seitenränder anpassen) automatisch in Abhängigkeit von der Länge des Textes?

Ich denken kann 2 Verwandte appproaches zu tun, es programmatisch:
1) Berechnen Sie die Länge der längsten Zeichenkette und dementsprechend passen Sie den linken Rand
2) Erstellen Sie eine dotchart plot für die Daten, irgendwie fangen die Ränder und verwenden die gleichen Margen im Balkendiagramm.

Gibt es einen einfacheren Weg, es zu tun?
Danke!

InformationsquelleAutor Max C | 2012-05-08
Schreibe einen Kommentar