instalar - pie chart r ggplot2
ggplot que combina dos gráficos de diferentes data.frames (4)
Como dijo Baptiste, necesitas especificar el argumento de los datos en el nivel geom. Ya sea
#df1 is the default dataset for all geoms
(plot1 <- ggplot(df1, aes(v, p)) +
geom_point() +
geom_step(data = df2)
)
o
#No default; data explicitly specified for each geom
(plot2 <- ggplot(NULL, aes(v, p)) +
geom_point(data = df1) +
geom_step(data = df2)
)
Quiero combinar dos ggplots, desde dos data.frames diferentes, en un gráfico. A continuación encontrará el código. Quiero combinar la trama 1 y 2 o las tramas 3 y 4.
df1 <- data.frame(p=c(10,8,7,3,2,6,7,8),
v=c(100,300,150,400,450,250,150,400))
df2 <- data.frame(p=c(10,8,6,4), v=c(150,250,350,400))
plot1 <- qplot(df1$v, df1$p)
plot2 <- qplot(df2$v, df2$p, geom="step")
plot3 <- ggplot(df1, aes(v, p)) + geom_point()
plot4 <- ggplot(df2, aes(v, p)) + geom_step()
Esto debe ser muy fácil de hacer, pero de alguna manera no puedo hacer que funcione. Gracias por tu tiempo.
La única solución de trabajo para mí fue definir el objeto de datos en geom_line en lugar del objeto base, ggplot.
Me gusta esto:
ggplot() +
geom_line(data=Data1, aes(x=A, y=B), color=''green'') +
geom_line(data=Data2, aes(x=C, y=D), color=''red'')
en lugar de
ggplot(data=Data1, aes(x=A, y=B), color=''green'') +
geom_line() +
geom_line(data=Data2, aes(x=C, y=D), color=''red'')
Otra solución que puede seguir si usa un conjunto de datos (df1) varias veces y otro conjunto de datos (df2) una o dos veces, use lo siguiente:
ggplot(df1) + geom_point(aes(x = feature1, y = feature2), color = ''Red'') +
geom_point(aes(x = feature3, y = feature2), color = ''Green'') +
geom_point(data = df2, aes(x = feature01, y = feature02), color = ''Blue'')
Por lo tanto, no es necesario que repita la escritura de data = df1
cada vez. Es como escribir un parámetro predeterminado que se utilizará en los geom''s posteriores a menos que se especifique lo contrario.
Puedes tomar este truco para usar solo qplot. Usa la variable interna $mapping
. Incluso puede agregar color = a sus gráficos, de modo que esto también se aplicará al mapeo, y luego sus tramas se combinarán con la leyenda y los colores automáticamente.
cpu_metric2 <- qplot(y=Y2,x=X1)
cpu_metric1 <- qplot(y=Y1,
x=X1,
xlab="Time", ylab="%")
combined_cpu_plot <- cpu_metric1 +
geom_line() +
geom_point(mapping=cpu_metric2$mapping)+
geom_line(mapping=cpu_metric2$mapping)