2015-10-28 9 views
11

Ich habe ein seltsames Verhalten von ggplot. Hier ist ein MWE:wie man coord_cartisan und coord_flip zusammen in ggplot2 verwendet

the_data <- data.frame(
    myx <- 1:10, 
    lower <- rnorm(10,-5,1), 
    mean <- rnorm(10,0,.5), 
    upper <- rnorm(10,5,1)) 
the_data2 <- data.frame(
    myx <- 1:10, 
    lower <- rnorm(10,-5,1), 
    mean <- rnorm(10,0,.5), 
    upper <- rnorm(10,5,1)) 

Nun, ich möchte ein Grundstück bauen, wo das Endprodukt einen Punkt für den Mittelwert haben wird, und eine Linie von der unteren gezogen uppper. Aber ich möchte, dass diese Zeilen horizontal sind. Ich möchte auch den Graphen vergrößern, so dass nur Werte von -1 bis 1 angezeigt werden. Ich muss coord_cartesian verwenden, denn wenn ich ylim verwende, fallen die Datenpunkte außerhalb des Diagramms, was die Zeilen durcheinander bringt. Aber wenn ich laufe:

ggplot() + 
    geom_pointrange(aes(x=myx, y=mean, ymin=lower, ymax=upper), data=the_data) + 
    geom_pointrange(aes(x=myx, y=mean, ymin=lower, ymax=upper), data=the_data2) + 
    coord_cartesian(ylim = c(-1, 1)) + 
    coord_flip() 

es nicht das „Zoomen“ gilt und das Umschalten der zwei Argumente:

ggplot() + 
    geom_pointrange(aes(x=myx, y=mean, ymin=lower, ymax=upper), data=the_data) + 
    geom_pointrange(aes(x=myx, y=mean, ymin=lower, ymax=upper), data=the_data2) + 
    coord_flip() + 
    coord_cartesian(ylim = c(-1, 1)) 

den Zoom applys aber nicht das Flipping. Was ist denn hier los?

+0

haben Sie vergessen ein '+' hinter 'coord_cartesian (ylim = c (-1, 1))' ... – beetroot

+0

Fest, danke. Immer noch dieses Problem, aber ... – Alex

Antwort

11

coord_flip ist ein Wrapper um coord_cartesian. Sie führen zwei Aufrufe an coord_cartesian mit dem zweiten Überschreiben des ersten. Sie können dies tun:

+0

Das macht Sinn. Ich dachte, es wäre etwas in dieser Richtung, ich konnte es einfach nicht herausfinden! Vielen Dank! – Alex

3

Es macht keinen Sinn, mehrere Koordinatensysteme für die gleiche Handlung zu haben. Sie wollen coord_flip(ylim = c(-1, 1))

Verwandte Themen