[chronojump] server graphs printable as PDF
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] server graphs printable as PDF
- Date: Wed, 7 Mar 2012 13:04:23 +0000 (UTC)
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]