Advertisement
Guest User

Untitled

a guest
May 8th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. #!/usr/bin/Rscript
  2.  
  3. # Cairo - for creating images outside of X
  4. # ggplot2 - the MAGIC
  5. # RMySQL - for interacting with the MySQL database
  6. # yaml - for storing database credentials
  7.  
  8. suppressPackageStartupMessages( require( "Cairo" , quietly=TRUE ) )
  9. suppressPackageStartupMessages( require( "ggplot2" , quietly=TRUE ) )
  10. suppressPackageStartupMessages( require( "RMySQL" , quietly=TRUE ) )
  11. suppressPackageStartupMessages( require( "yaml" , quietly=TRUE ) )
  12.  
  13. # administrivia
  14. my.cnf = yaml.load_file( '~/.my.yaml' )
  15. database = my.cnf$clients$itap
  16. quote <- "'"
  17. newline <- "\n"
  18.  
  19. # the query
  20. coffee_sql <- "
  21. SELECT
  22. YEAR(d.datestamp) year ,
  23. IF(
  24. WEEKDAY(d.datestamp) > 5 ,
  25. 1 ,
  26. 2 + WEEKDAY(d.datestamp)
  27. ) wday ,
  28. WEEK(d.datestamp) week ,
  29.  
  30. COUNT(c.cups) cups ,
  31. DATE(d.datestamp) date
  32.  
  33. FROM day_list d
  34. LEFT OUTER JOIN coffee_intake c
  35. ON DATE(c.datestamp) = DATE(d.datestamp)
  36. WHERE DATE(d.datestamp) > '2012-11-01'
  37. AND DATE(d.datestamp) <= DATE(NOW())
  38. GROUP BY DATE(d.datestamp)
  39. ORDER BY DATE(d.datestamp)
  40. "
  41.  
  42. con <- dbConnect(
  43. MySQL(),
  44. user=database$user ,
  45. password=database$password,
  46. dbname=database$database,
  47. host=database$host
  48. )
  49.  
  50. coffee.data <- dbGetQuery( con , coffee_sql )
  51.  
  52. CairoPNG(
  53. filename = "/home/jacoby/www/coffee.png" ,
  54. height = 800 ,
  55. width = 800 ,
  56. pointsize = 12
  57. )
  58.  
  59. ggplot(
  60. coffee.data,
  61. aes( week, wday, fill = cups ) ) +
  62. geom_tile(colour = "#191412") +
  63. ggtitle( "Dave Jacoby's Coffee Intake" ) +
  64. xlab( 'Week of the Year' ) +
  65. ylab( 'Day of the Week' ) +
  66. scale_fill_gradientn(
  67. colours = c(
  68. "#d1c3be",
  69. "#a78b83",
  70. "#4b3a35"
  71. )
  72. ) +
  73. facet_wrap(~ year, ncol = 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement