Got Plot

Ogive Faithful

Ogive Faithful


 
# ======================================================== 
# Data: Old Faithful Geiser 
# ======================================================== 
data("faithful") 
 
 
# Auxiliary function that gets cumulative frequencies  
# (wrapper of the hist() function) 
cum_freq <- function(x, breaks = "Sturges", include.lowest = TRUE, 
                     right = TRUE) 
{ 
  x_hist <- hist(x, breaks = breaks, right = right, 
                 include.lowest = include.lowest, plot = FALSE) 
  breaks <- x_hist$breaks 
  cumfreq = c(0, cumsum(x_hist$counts)) 
  cumprop = round(100 * cumfreq / max(cumfreq), 2) 
  list(breaks = breaks,  
       cumfreq = cumfreq, 
       cumprop = cumprop) 
} 
 
# cumulative duration 
cumdur <- cum_freq(faithful$eruptions) 
 
 
# ======================================================== 
# Plot Ogive 
# ======================================================== 
png("ogive-faithful.png", width = 700, height = 500, pointsize = 20) 
# set margins 
op = par(mar = c(4.5, 4, 1, 1.5)) 
# call plot 
plot(cumdur$breaks, cumdur$cumfreq, axes = FALSE, 
     xlab = "Duration (mins)", ylab = "Eruptions",  
     ylim = c(0, 300)) 
axis(side = 1, at = cumdur$breaks, line = -0.2) 
axis(side = 2, at = seq(0, 300, 50), las = 1) 
lines(cumdur$breaks, cumdur$cumfreq,  
      lwd = 4, col = "gray70") 
points(cumdur$breaks, cumdur$cumfreq,  
       pch = 19, col = "gray30", cex = 1) 
text(cumdur$breaks, cumdur$cumfreq,  
     pos = 3, cex = 0.8, xpd = TRUE, 
     labels = paste(cumdur$cumprop, "%", sep = "")) 
# turn off par 
par(op) 
dev.off()