Приветствую,
В настоящее время я делаю следующее в 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 of 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
...
Последние две строки отображают нужную мне информацию, и результат напоминает следующее: Синяя линия - это энтропия в байтах интересующего меня артефакта. Зеленые линии представляют энтропию изменений.
Теперь, на этом графике, это работает хорошо, потому что нет большой разницы в масштабах. Но у меня есть другие графики, где зеленые линии становятся такими маленькими, что их не видно.
Решение, которое я искал, включало две вещи:
- Чтобы переместить зеленые вертикальные линии на второй график, чуть ниже первого, с собственной осью y, но с общей осью x.
- Чтобы обеспечить это логарифмическая шкала, так как меня больше интересует «величина», чем конкретные значения.
Заранее спасибо!
PS Если кто-то также может сказать мне, как я могу поставить «мелкие галочки» в шкале х, относящиеся к месяцам, я ценю :-) Если это слишком много вопросов для одного поста, я могу разделить их дальше.
источник
Я думаю, что вы можете получить то, что вы хотите, используя
ggplot2
. Используя приведенный ниже код, я могу произвести:Очевидно, что такие вещи, как цвета линий могут быть изменены на то, что вы хотите. На оси х я указал основные линии по годам и второстепенные по месяцам.
источник