ggplot2: un script para apilar y un gráfico de línea -- r campo con data-visualization camp codereview Relacionados El problema

ggplot2: a script for stacked and a line chart


4
vote

problema

Español

Hasta ahora, tuve éxito para obtener lo que necesito usar a continuación se mencionó el script, pero estoy seguro de que mi guión está lejos de ser perfecto (si es posible en absoluto). Entonces, apreciaría mucho sus comentarios sobre cómo se habría hecho de manera diferente para mejorarlo.

  cancellationTokenSource2  

El script me da una tabla que necesito:

ingrese la descripción de la imagen aquí

Original en ingles

So far I was successful to get what I need using below mentioned script, but I'm sure my script is far from being perfect (if it is possible at all). So, I'd greatly appreciate your comments on how would it have been done differently in order to improve it.

p6_ch1 <- read.xlsx("BEO_charts.xlsx", sheet = 7, startRow = 2, colNames = T, rowNames = F, detectDates = T, skipEmptyCols = T, skipEmptyRows = T)   p6_ch1$date <- as.Date(seq(as.Date("2009/1/1"), as.Date("2016/07/1")-1, by = "quarter")) p6_ch1$date <- as.yearqtr(as.Date(p6_ch1$date, format = "Q%q %Y"))  p6_ch1_stack <- subset.data.frame (p6_ch1, select = c(1,3:5,7:9), p6_ch1$date >= "2013 Q1") p6_ch1_line <- subset(p6_ch1, select = c(1,10), p6_ch1$date >= "2013 Q1") p6_ch1_stack_melt <- melt(p6_ch1_stack, id.vars = "date", measure.vars = c(2:7))  p6_ch1_line_melt <- melt(p6_ch1_line, id.vars = "date")   p6.1 <- ggplot(data = p6_ch1_stack_melt, aes (x = date, y = value)) + scale_x_yearqtr(breaks = seq(from = min(p6_ch1_stack$date, na.rm = T), to = max(p6_ch1_stack$date, na.rm = T), by=0.25), format="Q%q %Y", expand=c(.01,0)) +   scale_y_continuous(limits = c(-35,35), breaks = seq(-35,35,5)) +    xlab ("") +   ylab ("") +    geom_bar(data = p6_ch1_stack_melt,          aes(           group = variable,           fill=variable),           stat = 'identity') +    scale_fill_manual(     guide = "legend",      name = NULL,      breaks= c(       "tax_inc",       "ved_inc",       "oth_inc",       "current_exp",       "debt_service",       "capex"),      labels= c(       "xd0x9dxd0xb0xd0xbbxd0xbexd0xb3xd0xbexd0xb2xd1x8bxd0xb5 xd0xb4xd0xbexd1x85xd0xbexd0xb4xd1x8b*",        "xd0x94xd0xbexd1x85xd0xbexd0xb4xd1x8b xd0xbexd1x82 xd0x92xd0xadxd0x94",        "xd0x9fxd1x80xd0xbexd1x87xd0xb8xd0xb5 xd0xb4xd0xbexd1x85xd0xbexd0xb4xd1x8b",        "xd0xa2xd0xb5xd0xbaxd1x83xd1x89xd0xb8xd0xb5 xd1x80xd0xb0xd1x81xd1x85xd0xbexd0xb4xd1x8b**",        "xd0x9exd0xb1xd1x81xd0xbbxd1x83xd0xb6xd0xb8xd0xb2xd0xb0xd0xbdxd0xb8xd0xb5 xd0xb3xd0xbexd1x81xd0xb4xd0xbexd0xbbxd0xb3xd0xb0",        "xd0x9axd0xb0xd0xbfxd0xb8xd1x82xd0xb0xd0xbbxd1x8cxd0xbdxd1x8bxd0xb5 xd1x80xd0xb0xd1x81xd1x85xd0xbexd0xb4xd1x8b"),     values = c(       "#88CCEE",        "#44AA99",        "#117733",        "#DDCC77",        "#CC6677",        "#AA4499"))  p6.1 <- p6.1 + geom_hline(aes(yintercept = 0),colour="#ABABAB") p6.1 <- p6.1 +    geom_line(data = p6_ch1_line_melt, aes(x = date, y = value, colour = variable), size = 1) +    geom_point(data = p6_ch1_line_melt, aes(x = date, y = value, colour = variable), size = 1) +    scale_colour_manual(     guide = "legend",      name = NULL,      breaks = c("balance"),      labels = c("xd0xa1xd0xb0xd0xbbxd1x8cxd0xb4xd0xbe"),      values = c("#332288", "#332288")) +      theme(axis.text.x = element_text(angle = 90, vjust = .5, size = 5, colour = "black"),         axis.text.y = element_text(size = 5, colour = "black"),         #panel.grid.minor.x = element_line(colour = "#EDEDED", linetype = 2),         panel.grid.major.y = element_line(colour = "#EDEDED", linetype = 2, size = .3),         panel.grid.minor.y = element_blank(),         panel.grid.major.x = element_line(colour = "#EDEDED"),         panel.grid.minor = element_blank(),         panel.background = element_blank(),         axis.line.y = element_line(colour="#ABABAB"),          axis.ticks.length = unit(0,"cm"),         legend.position = "bottom",         legend.direction = "horizontal",         legend.spacing.x = unit(-.2,"cm"),         legend.key = element_blank(),         legend.key.height = unit(.3, "cm"),         legend.text = element_text(size = 5),         legend.box.margin = unit (c(-9,1,1,1), "mm"),         legend.background = element_rect(fill = "transparent", colour = NA),         plot.margin = unit (c(1,1,0,-4), "mm"))    p6.1  CairoPDF("plot6.1.pdf", width=5.23622, height=2.83465) plot(p6.1) dev.off() 

The script gives me a chart I need:

enter image description here

     

Lista de respuestas


Relacionados problema

3  Programa que acepta calificaciones e imprime la distribución de grado  ( Program which accepts grades and prints grade distribution ) 
Estoy haciendo el Curso de Java MOOC ( CTRL + F "DISTRIBUCIÓN"): La entrada del programa es un conjunto de puntajes de exámenes de un curso. Cada punt...

5  Módulo de gráficos Haskell (Gloss)  ( Haskell graphing module gloss ) 
He estado aprendiendo lentamente Haskell en los últimos meses. Hice un pequeño módulo para las funciones gráficas usando Brillo, y me gustaría comentarios sob...

5  CSS & JS PIECHART  ( Css js piechart ) 
Hice un public class Question { public static void main(String[] args) { //A hypothetical list of tasks to run asynchronously List<Call...

5  Histograma vertical  ( Vertical histogram ) 
He estado trabajando en un histograma vertical que imprime un asterisco en su lugar de un número en un cierto rango (por ejemplo, 1-10 ... y así sucesivamente...

24  Eliminar puntos en línea recta  ( Remove points in a straight line ) 
Escribí este código para eliminar los puntos que crean una línea recta cuando se trazan. Por ejemplo, esto tiene muchos puntos en una línea recta: impor...

5  Fetch, parcela y envía estadísticas de incidentes de seguridad con Excel  ( Fetch plot and send security incident statistics with excel ) 
tLDR: No se desarrollo para vivir. Si alguien podría apuntarme en la dirección correcta para que mi script sea más legible / Pythonic. Agradecería la asiste...

1  Simulación de la placa de galton  ( Galton board simulation ) 
Este programa está escrito para Windows 7 en MINGW utilizando GCC. Estoy buscando recomendaciones para mejorar la portabilidad del programa. /* galtonboa...

4  Consulta para trazar un histograma de calificaciones de canciones  ( Query to plot a histogram of song ratings ) 
Escribí código para trazar una distribución de calificación, que se parece a esto: La función más importante es el stats Función: function stats($so...

4  DC.JS y la aplicación CrossFilter para mostrar múltiples gráficos  ( Dc js and crossfilter app to display multiple charts ) 
Considere la siguiente aplicación CrossFilter / DC.JS ( captura de pantalla ): <!DOCTYPE html> <html lang="en"> <head> <title>Data Exploration Tool...

1  Gráfico de conteo de palabras  ( Word count graph ) 
He creado un programa en Python que lee un archivo y emite un gráfico de frecuencia de las palabras que contiene. Se apreciarían cualquier retroalimentación o...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos