Salutations,
Actuellement, je fais ce qui suit dans R:
require(zoo)
data <- read.csv(file="summary.csv",sep=",",head=TRUE)
cum = zoo(data$dcomp, as.Date(data$date))
data = zoo(data$compressed, as.Date(data$date))
data <- aggregate(data, identity, tail, 1)
cum <- aggregate(cum, identity, sum, 1)
days = seq(start(data), end(data), "day")
data2 = na.locf(merge(data, zoo(,days)))
plot(data2,xlab='',ylab='compressed bytes',col=rgb(0.18,0.34,0.55))
lines(cum,type="h",col=rgb(0,0.5,0))
Snip de summary.csv:
date,revision,file,lines,nclass,nattr,nrel,bytes,compressed,diff,dcomp
2007-07-25,16,model.xml,96,11,22,5,4035,991,0,0
2007-07-27,17,model.xml,115,16,26,6,4740,1056,53,777
2007-08-09,18,model.xml,106,16,26,7,4966,1136,47,761
2007-08-10,19,model.xml,106,16,26,7,4968,1150,4,202
2007-09-06,81,model.xml,111,16,26,7,5110,1167,13,258
...
Les deux dernières lignes tracent les informations dont j'ai besoin, et le résultat ressemble à ceci: La ligne bleue est l'entropie en octets de l'artefact qui m'intéresse. Les lignes vertes représentent l'entropie des changements.
Maintenant, dans ce graphique, cela fonctionne bien car il n'y a pas une énorme différence d'échelles. Mais j'ai d'autres graphiques où les lignes vertes deviennent si petites qu'on ne peut pas voir.
La solution que je cherchais impliquait deux choses:
- Pour déplacer les lignes verticales vertes vers un deuxième graphique, juste en dessous du premier, avec son propre axe y, mais un axe x partagé.
- Pour lui fournir une échelle logarithmique, puisque je suis plus intéressé par la "magnitude" que par les valeurs spécifiques.
Merci d'avance!
PS Si quelqu'un peut aussi me dire comment pourrais-je mettre des "graduations mineures" dans l'échelle x en référence aux mois, j'apprécie :-) Si ce sont trop de questions pour un seul post, je peux les diviser davantage.
la source
Je pense que vous pouvez obtenir ce que vous voulez en utilisant
ggplot2
. En utilisant le code ci-dessous, je peux produire:Évidemment, des choses comme les couleurs des lignes peuvent être changées en ce que vous voulez. Sur l'axe des x, j'ai spécifié des lignes majeures sur les années et des lignes mineures sur les mois.
la source