Оскільки ця проблема є загальною для багатьох статистичних середовищ програмного забезпечення, давайте обговоримо її тут на перехресній валідації, а не перенести її на R-специфічний форум (наприклад, StackOverflow).
Реальна проблема в тому , що Dateрозглядається як фактор --a дискретної змінної - і тому лінії не підключені належним чином. (Також точки не розташовані ідеально точно в горизонтальному напрямку.)

Щоб зробити правильний графік, Dateполе було перетворене з коефіцієнта на фактичну дату, кожен тиждень ототожнювався з простим розрахунком (розбиваючи тижні між суботою та неділею), а рядки переривались у вихідні дні циклом за тижні:
oracle$date <- as.Date(oracle$Date)
oracle$week.num <- (as.integer(oracle$date) + 3) %/% 7
oracle$week <- as.Date(oracle$week.num * 7 - 3, as.Date("1970-01-01", "%Y-%m-%d"))
par(mfrow=c(1,2))
plot(as.factor(unclass(oracle$Date[1:120])), oracle$Open[1:120], type="l",
main="Original Plot: Inset", xlab="Factor code")
plot(oracle$date[1:120], oracle$Open[1:120], type="n", ylab="Price",
main="Oracle Opening Prices")
tmp <- by(oracle[1:120,], oracle$week[1:120], function(x) lines(x$date, x$Open, lwd=2))
(Еквівалент дати кожного тижня, що дає понеділок цього тижня, також зберігався у oracleкадрі даних, оскільки він може бути корисним для побудови зведених тижневих даних.)
Первісний намір можна досягти просто емуляцією останнього рядка для відображення всіх даних. Щоб додати трохи інформації про сезонну поведінку, наступний сюжет змінює колір за тижнями протягом кожного календарного року:
par(mfrow=c(1,1))
colors <- terrain.colors(52)
plot(oracle$date, oracle$Open, type="n", main="Oracle Opening Prices")
tmp <- by(oracle, oracle$week,
function(x) lines(x$date, x$Open, col=colors[x$week.num %% 52 + 1]))
