[chronojump] server graphs printable as PDF



commit adf4eed4356fd277efe3e94f0acb08f1c9579556
Author: Xavier de Blas <xaviblas gmail com>
Date:   Wed Mar 7 13:58:40 2012 +0100

    server graphs printable as PDF

 chronojump_server/r-sqlite/evaluators.R |   56 ++++++++++++++++++-------------
 chronojump_server/r-sqlite/persons.R    |   35 ++++++++++++++-----
 2 files changed, 59 insertions(+), 32 deletions(-)
---
diff --git a/chronojump_server/r-sqlite/evaluators.R b/chronojump_server/r-sqlite/evaluators.R
index c68f48c..ff5a5ef 100644
--- a/chronojump_server/r-sqlite/evaluators.R
+++ b/chronojump_server/r-sqlite/evaluators.R
@@ -1,11 +1,21 @@
+#change from local to server ----------------------------
 #server
 library(GDD)
 GDD(file="/var/www/web/server/images/evaluators.png", type="png", w=670, h=670)
 file = "/root/.local/share/Chronojump/database/chronojump_server.db"
+title = "Data uploaded by evaluator"
+subtitle=paste(Sys.Date(),"(YYYY-MM-DD)")
+colors=topo.colors(3)
+col.sub="red"
 
 #local
 #pdf(file="evaluators.pdf", width=7, height=7)
-#file = "/home/xavier/.local/share/Chronojump/database/chronojump_server_2011-07-26.db"
+#file = "/home/xavier/.local/share/Chronojump/database/chronojump_server_2012-03-06.db"
+#title = ""
+#subtitle="2012-02-16 (YYYY-MM-DD)"
+#colors=c("black","gray30","gray60")
+#col.sub="gray30"
+#--------------------------------------------------------
 
 library(RSQLite)
 drv = dbDriver("SQLite")
@@ -19,11 +29,11 @@ jumpsRj <- dbGetQuery(con, "SELECT COUNT(jumpRj.uniqueID) AS conta, SEvaluator.n
 
 #runs <- dbGetQuery(con, "SELECT COUNT(run.uniqueID) AS conta, SEvaluator.name AS names FROM run, SEvaluator, session WHERE run.sessionID=session.uniqueID AND session.evaluatorID=Sevaluator.uniqueID GROUP BY SEvaluator.name ORDER BY SEvaluator.name;")
 
-runsInterval <- dbGetQuery(con, "SELECT COUNT(runInterval.uniqueID) AS conta, SEvaluator.name AS names FROM runInterval, SEvaluator, session WHERE runInterval.sessionID=session.uniqueID AND session.evaluatorID=Sevaluator.uniqueID GROUP BY SEvaluator.name ORDER BY SEvaluator.name;")
+#runsInterval <- dbGetQuery(con, "SELECT COUNT(runInterval.uniqueID) AS conta, SEvaluator.name AS names FROM runInterval, SEvaluator, session WHERE runInterval.sessionID=session.uniqueID AND session.evaluatorID=Sevaluator.uniqueID GROUP BY SEvaluator.name ORDER BY SEvaluator.name;")
 
-reactionTimes <- dbGetQuery(con, "SELECT COUNT(reactiontime.uniqueID) AS conta, SEvaluator.name AS names FROM reactiontime, SEvaluator, session WHERE reactiontime.sessionID=session.uniqueID AND session.evaluatorID=Sevaluator.uniqueID GROUP BY SEvaluator.name ORDER BY SEvaluator.name;")
+#reactionTimes <- dbGetQuery(con, "SELECT COUNT(reactiontime.uniqueID) AS conta, SEvaluator.name AS names FROM reactiontime, SEvaluator, session WHERE reactiontime.sessionID=session.uniqueID AND session.evaluatorID=Sevaluator.uniqueID GROUP BY SEvaluator.name ORDER BY SEvaluator.name;")
 
-pulses <- dbGetQuery(con, "SELECT COUNT(pulse.uniqueID) AS conta, SEvaluator.name AS names FROM pulse, SEvaluator, session WHERE pulse.sessionID=session.uniqueID AND session.evaluatorID=Sevaluator.uniqueID GROUP BY SEvaluator.name ORDER BY SEvaluator.name;")
+#pulses <- dbGetQuery(con, "SELECT COUNT(pulse.uniqueID) AS conta, SEvaluator.name AS names FROM pulse, SEvaluator, session WHERE pulse.sessionID=session.uniqueID AND session.evaluatorID=Sevaluator.uniqueID GROUP BY SEvaluator.name ORDER BY SEvaluator.name;")
 
 #multichronopic <- dbGetQuery(con, "SELECT COUNT(multichronopic.uniqueID) AS conta, SEvaluator.name AS names FROM multichronopic, SEvaluator, session WHERE multichronopic.sessionID=session.uniqueID AND session.evaluatorID=Sevaluator.uniqueID GROUP BY SEvaluator.name ORDER BY SEvaluator.name;")
 
@@ -46,12 +56,12 @@ a <- merge(persons, jumps, by="names", all.x=T)
 colnames(a)=c("names", "persons", "jumps")
 a <- merge(a, jumpsRj, by="names", all.x=T)
 colnames(a)=c("names", "persons", "jumps", "jumps_reactive")
-a <- merge(a, runsInterval, by="names", all.x=T)
-colnames(a)=c("names", "persons", "jumps", "jumps_reactive", "runs_intervallic")
-a <- merge(a, reactionTimes, by="names", all.x=T)
-colnames(a)=c("names", "persons", "jumps", "jumps_reactive", "runs_intervallic", "reaction_times")
-a <- merge(a, pulses, by="names", all.x=T)
-colnames(a)=c("names", "persons", "jumps", "jumps_reactive", "runs_intervallic", "reaction_times", "pulses")
+#a <- merge(a, runsInterval, by="names", all.x=T)
+#colnames(a)=c("names", "persons", "jumps", "jumps_reactive", "runs_intervallic")
+#a <- merge(a, reactionTimes, by="names", all.x=T)
+#colnames(a)=c("names", "persons", "jumps", "jumps_reactive", "runs_intervallic", "reaction_times")
+#a <- merge(a, pulses, by="names", all.x=T)
+#colnames(a)=c("names", "persons", "jumps", "jumps_reactive", "runs_intervallic", "reaction_times", "pulses")
 
 #prepare sort
 a <- replace(a,is.na(a),0)
@@ -59,35 +69,36 @@ a <- replace(a,is.na(a),0)
 #a$runs <- as.numeric(a$runs)
 #a$multichronopic <- as.numeric(a$multichronopic)
 #fix duplicates:
-columns = 7 #when add runs and multichronopic put 9.
+columns = 4 #columns = 7 #when add runs and multichronopic put 9.
 a[(a$names == "Josep M. PadullÃs"),2:columns] = a[(a$names == "Josep M. PadullÃs"),2:columns] + a[(a$names == "Josep M PadullÃs"),2:columns]
 a <- subset(a,a$names != "Josep M PadullÃs")
 a[(a$names == "Jeffrey Pagaduan"),2:columns] = a[(a$names == "Jeffrey Pagaduan"),2:columns] + a[(a$names == "Jeffrey C. Pagaduan"),2:columns]
 a <- subset(a,a$names != "Jeffrey C. Pagaduan")
 #sort
 #a <- a[order(a$persons + a$jumps + a$jumps_reactive + a$runs + a$runs_intervallic + a$reaction_times + a$pulses + a$multichronopic),]
-a <- a[order(a$persons + a$jumps + a$jumps_reactive + a$runs_intervallic + a$reaction_times + a$pulses),]
+#a <- a[order(a$persons + a$jumps + a$jumps_reactive + a$runs_intervallic + a$reaction_times + a$pulses),]
+a <- a[order(a$persons + a$jumps + a$jumps_reactive),]
 
 #prepare graph
 #b=cbind(a$persons, a$jumps , a$jumps_reactive, a$runs, a$runs_intervallic, a$reaction_times, a$pulses, a$multichronopic)
 #colnames(b)=c("persons", "jumps", "jumps_reactive", "runs", "runs_intervallic", "reaction_times", "pulses", "multichronopic")
-b=cbind(a$persons, a$jumps , a$jumps_reactive, a$runs_intervallic, a$reaction_times, a$pulses)
+#b=cbind(a$persons, a$jumps , a$jumps_reactive, a$runs_intervallic, a$reaction_times, a$pulses)
+b=cbind(a$persons, a$jumps , a$jumps_reactive)
 
 #colnames(b)=c("persons", "jumps", "jumps_reactive", "runs_intervallic", "reaction_times", "pulses")
 colnames(b)=c(
-	paste("persons (", sum(persons$conta), ")"), 
-	paste("jumps (", sum(jumps$conta), ")"), paste("jumps_reactive (", sum(jumpsRj$conta), ")"), 
-	paste("runs_intervallic (", sum(runsInterval$conta), ")"), 
-	paste("reaction_times (", sum(reactionTimes$conta), ")"), 
-	paste("pulses (", sum(pulses$conta), ")")
+	paste("persons (", sum(persons$conta), ")")
+	, paste("jumps (", sum(jumps$conta), ")")
+	, paste("jumps_reactive (", sum(jumpsRj$conta), ")")
+#	, paste("runs_intervallic (", sum(runsInterval$conta), ")")
+#	, paste("reaction_times (", sum(reactionTimes$conta), ")")
+#	, paste("pulses (", sum(pulses$conta), ")")
 	)
 
 rownames(b)=a$names
 
 #graph
 cex=.8
-#change colors to 8 when add runs and multichronopic
-colors=topo.colors(6)
 
 par(mar=c(5,4,5.5,2), oma=c(1,7,1,1))
 
@@ -95,11 +106,10 @@ barplot(t(b), horiz=T, las=2, col=colors, cex.names=cex,axes=F)
 axis(3, cex.axis=.8)
 legend("right", colnames(b), pch=15, col=colors, cex=.8)
 
-title(main="Data uploaded by evaluator",
-  sub=paste(Sys.Date(),"(YYYY-MM-DD)"), cex.sub = 0.75, font.sub = 3, col.sub = "red")
+title(main=title, sub=subtitle, cex.sub = 0.75, font.sub = 3, col.sub = col.sub)
 
 par(new=TRUE)
-par(mar=c(5.2,12,26,2))
+par(mar=c(5.2,12,18.4,2))
 
 persons <- dbGetQuery(con, "SELECT session.uploadedDate AS date, count(personSession77.uniqueID) AS conta FROM session,personSession77 WHERE personSession77.sessionID == session.UniqueID AND session.uploadedDate != '2007-07-30' GROUP BY session.uploadedDate;")
 jumps <- dbGetQuery(con, "SELECT session.uploadedDate AS date, count(jump.uniqueID) AS conta FROM session,jump WHERE jump.sessionID == session.UniqueID AND session.uploadedDate != '2007-07-30' GROUP BY session.uploadedDate;")
diff --git a/chronojump_server/r-sqlite/persons.R b/chronojump_server/r-sqlite/persons.R
index ceac4ab..18b385e 100644
--- a/chronojump_server/r-sqlite/persons.R
+++ b/chronojump_server/r-sqlite/persons.R
@@ -1,8 +1,27 @@
+#change from local to server ----------------------------
+#server
 library(GDD)
 GDD(file="/var/www/web/server/images/persons.png", type="png", w=670, h=670)
+file = "/root/.local/share/Chronojump/database/chronojump_server.db"
+title = "Data uploaded by evaluator"
+subtitle=paste(Sys.Date(),"(YYYY-MM-DD)")
+col.sub="red"
+col.sex=rainbow(2)
+col.level=rainbow(4)
+
+#local
+#pdf(file="persons.pdf", width=7, height=7)
+#file = "/home/xavier/.local/share/Chronojump/database/chronojump_server_2012-03-07.db"
+#title = ""
+#subtitle="2012-02-16 (YYYY-MM-DD)"
+#col.sub="gray30"
+#col.sex=c("gray30","gray60")
+#col.level=c("black","gray30","gray60","white")
+#--------------------------------------------------------
+
+
 library(RSQLite)
 drv = dbDriver("SQLite")
-file = "/root/.local/share/Chronojump/database/chronojump_server.db"
 con = dbConnect(drv, file)
 
 def.par <- par(no.readonly = TRUE) # save default, for resetting...
@@ -25,19 +44,18 @@ par(new=FALSE, oma=c(1,1,5,0))
 nf <- layout(matrix(c(1,1,2,3,4,5), 3, 2, byrow=FALSE), widths=c(2,1), heights=c(10,10,13), respect=FALSE)
 #layout.show(nf)
 
-dotchart(table(persons$sportF)[order (table(persons$sportF))], labels=strtrim(levels(persons$sportF),15)[order (table(persons$sportF))], main="Sport")
+dotchart(table(persons$sportF)[order (table(persons$sportF))], labels=strtrim(levels(persons$sportF),15)[order (table(persons$sportF))], main="Sport",cex=.6)
 abline(v=seq(from=0,to=max(table(persons$sportF)),by=10),col = "lightgray", lty=3)
 #dotchart(table(persons$speciallityF), labels=levels(persons$speciallityF), main="athletics speciallities")
 #SPECIALLITIES fer amb un altre select i nomes d'atletisme
 
-dotchart(table(persons$countryF)[order (table(persons$countryF))], labels=strtrim(levels(persons$countryF),15)[order (table(persons$countryF))], main="Country")
+dotchart(table(persons$countryF)[order (table(persons$countryF))], labels=strtrim(levels(persons$countryF),15)[order (table(persons$countryF))], main="Country",cex=.6)
 abline(v=seq(from=0,to=max(table(persons$countryF)),by=25),col = "lightgray", lty=3)
 
-pie(table(persons$sexF), labels=levels(persons$sexF), main="Gender", 
-  col=rainbow(length(levels(persons$sexF))))
+pie(table(persons$sexF), labels=levels(persons$sexF), main="Gender", col=col.sex)
 
 levels(persons$levelF)=c("Sedentary", "Regular practice", "Competition", "Elite") #undefined is impossible on server
-  pie(table(persons$levelF), main="Level", col=rainbow(length(levels(persons$levelF))),cex=.8)
+  pie(table(persons$levelF), main="Level", col=col.level,cex=.8)
 
 hist(ages$years, breaks=10, main="Age", xlab="Years (at session day)")
 
@@ -46,9 +64,8 @@ hist(ages$years, breaks=10, main="Age", xlab="Years (at session day)")
 
 par(new=TRUE)
 plot(-1,type="n",axes=F,xlab='',ylab='')
-title(main="Persons data in server",
-  sub=paste(Sys.Date(),"(YYYY-MM-DD)"), cex.sub = 0.75, font.sub = 3, col.sub = "red")
+title(main=title, sub=subtitle, cex.sub = 0.75, font.sub = 3, col.sub = col.sub)
 
-  dev.off()
+dev.off()
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]