Da das Problem in vielen statistischen Softwareumgebungen häufig vorkommt, wollen wir es hier auf Cross Validated diskutieren, anstatt es in ein R-spezifisches Forum (wie StackOverflow) zu migrieren.
Das eigentliche Problem ist, dass Datees als Faktor - eine diskrete Variable - behandelt wird und die Leitungen daher nicht richtig angeschlossen werden. (Auch werden die Punkte in horizontaler Richtung nicht perfekt genau dargestellt.)

Um die rechte Darstellung zu erstellen, wurde das DateFeld von einem Faktor in ein tatsächliches Datum konvertiert, jede Woche wurde mit einer einfachen Berechnung identifiziert (wobei die Wochen zwischen Samstag und Sonntag unterbrochen wurden) und die Linien wurden an Wochenenden durch Schleifen über die Wochen unterbrochen:
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))
(Ein oracleDatumsäquivalent jeder Woche, das den Montag dieser Woche angibt , wurde ebenfalls im Datenrahmen gespeichert, da es zum Zeichnen wöchentlicher aggregierter Daten nützlich sein kann.)
Die ursprüngliche Absicht kann einfach durch Emulieren der letzten Zeile erreicht werden, um alle Daten anzuzeigen. Um einige Informationen zum saisonalen Verhalten hinzuzufügen, variiert das folgende Diagramm die Farbe pro Woche in jedem Kalenderjahr:
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]))
