Tengo el siguiente sencillo de los datos. Deseo parcela de la «V» vs D1,D2,D3 valores como lado-por-lado de la barra de parcelas y el acumulado sumas,CS1,CS2,CS3 como líneas, y a otra Y a escala . Mientras que es relativamente fácil parcela de al lado-por-lado de la barra de parcelas, como se muestra en la Primera Figura me estoy dando cuenta que es difícil para agregar la línea de parcelas para el CS1-CS3 columnas. El argumento final sería algo así como el La Segunda Figura
Gracias por su ayuda

V   D1  D2  D3  CS1 CS2 CS3
10  2038    1806    1643    72.81171847 64.52304394 58.69953555
20  550 709 757 92.46159343 89.85351911 85.7449089
30  142 192 271 97.53483387 96.71311183 95.42693819
40  45  61  80  99.14255091 98.89246159 98.28510182
50  12  20  30  99.57127546 99.6070025  99.35691318
60  5   6   10  99.74991068 99.82136477 99.71418364
70  2   2   3   99.82136477 99.89281886 99.82136477
80  4   1   2   99.96427295 99.92854591 99.89281886
90  1   0   1   100.0000000 99.92854591 99.92854591
100 0   1   0   100.0000000 99.96427295 99.92854591

OriginalEl autor The August | 2013-03-07

2 Comentarios

  1. 7

    Primer lugar, usted necesita para trazar barplot y guárdelo como objeto. Este objeto contiene las coordenadas x de los bares. Como el valor máximo es de 39.5, me puse xlim=c(0,40).

    mp<-barplot(as.matrix(t(df[,2:4])),beside=TRUE,xlim=c(0,40),ann=FALSE)
    mp
         [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
    [1,]  1.5  5.5  9.5 13.5 17.5 21.5 25.5 29.5 33.5  37.5
    [2,]  2.5  6.5 10.5 14.5 18.5 22.5 26.5 30.5 34.5  38.5
    [3,]  3.5  7.5 11.5 15.5 19.5 23.5 27.5 31.5 35.5  39.5

    Para agregar nueva trama uso par(new=TRUE). A continuación, agregue plot() para la primera línea y lines() para otras líneas. Como los valores de x para los nuevos parcelas utilizadas segunda línea de mp objeto (media de barras). Funciones axis() utiliza para establecer marcas en los ejes.

    par(new=TRUE)
    plot(mp[2,],df$CS1,xlim=c(0,40),type="l",col="red",axes=FALSE,ylim=c(0,100),ann=FALSE)
    lines(mp[2,],df$CS2,col="blue")
    lines(mp[2,],df$CS3,col="green")
    axis(1,at=mp[2,],labels=df$V)
    axis(4,at=seq(0,100,10))
    box()

    Agregar líneas a barplot en diferentes eje Y en R

    Gran!!!!!!Muchas gracias

    OriginalEl autor Didzis Elferts

  2. 1

    La updateusr función en la TeachingDemos paquete le permite cambiar el sistema de coordenadas de una parcela existente sin necesidad de recurrir a la par(new=TRUE) y los posibles problemas que vienen con él.

    También se puede ver en la twoord.plot función en la plotrix paquete como otra opción.

    Tener 2 sistemas de coordenadas en la misma parcela a veces puede conducir a la confusión, no puede ser mejor crear 2 alineados parcelas apilados verticalmente, de manera que no se superponen y las escalas son completamente independientes, posiblemente la parte superior de la parcela más corto. El layout función puede ayudar con este arreglo.

    Gracias Greg, yo creo que he visto algunos posts con los códigos de los métodos que hemos mencionado. Será de nuevo la mirada en ellos.

    OriginalEl autor Greg Snow

Dejar respuesta

Please enter your comment!
Please enter your name here