mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			954 B
		
	
	
	
		
			R
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			954 B
		
	
	
	
		
			R
		
	
	
		
			Executable File
		
	
	
	
	
| #! /usr/bin/env Rscript
 | |
| # vim: filetype=r:
 | |
| 
 | |
| ParseDates <- function(lines) {
 | |
|   dates <- matrix(unlist(strsplit(lines, " +")), ncol=6, byrow=TRUE)
 | |
|   days  <- dates[,1]
 | |
|   times <- dates[,4]
 | |
|   hours <- matrix(unlist(strsplit(times, ":")), ncol=3, byrow=TRUE)[,1]
 | |
|   all.days  <- c("Sun", "Sat", "Fri", "Thu", "Wed", "Tue", "Mon")
 | |
|   all.hours <- 0:23
 | |
|   data.frame( Day  = factor(days , levels=all.days)
 | |
|             , Hour = factor(hours, levels=all.hours)
 | |
|             )
 | |
| }
 | |
| 
 | |
| Main <- function() {
 | |
|   lines <- system("git log --format=%ad", intern=TRUE)
 | |
|   punchcard <- as.data.frame(table(ParseDates(lines)))
 | |
|   punchcard <-
 | |
|     ( ggplot2::ggplot(punchcard, ggplot2::aes(y=Day, x=Hour))
 | |
|     + ggplot2::geom_point(ggplot2::aes(size=Freq))
 | |
|     + ggplot2::scale_size(range=c(0, 15))
 | |
|     )
 | |
|   ggplot2::ggsave( filename = "punchcard.png"
 | |
|                  , plot     = punchcard
 | |
|                  , width    = 10
 | |
|                  , height   = 5
 | |
|                  )
 | |
| }
 | |
| 
 | |
| Main()
 |