Ich habe versucht, einige Linien in der gleichen Handlung zu zeichnen. Der x-Faktor wird durch ein Datum und der y-Faktor durch eine Zahl bestimmt. Ich zunächst die Daten laden, speichern sie in einer Liste und speichern Sie die minimalen und maximalen Werte für das Datum:Datum als xlim in R
stocks <- list()
stocks.min <- 0
stocks.max <- 0
stocks.min.date <- NULL
stocks.max.date <- NULL
for (name in names(files))
{
stocks[[name]] <- read.csv(files[[name]], sep=";")
# Convert to date in R
stocks[[name]]$Date <- as.Date(stocks[[name]]$Date, "%d/%m/%Y")
# Sets max value for ylim in the plotting
if (stocks.max < max(stocks[[name]]$Close))
{
stocks.max <- max(stocks[[name]]$Close)
}
# Sets the date value for the xlim in the plot
if (is.null(stocks.min.date) || min(stocks[[name]]$Date) < stocks.min.date)
{
stocks.min.date <- min(stocks[[name]]$Date)
}
if (is.null(stocks.max.date) || max(stocks[[name]]$Date) > stocks.max.date)
{
stocks.max.date <- max(stocks[[name]]$Date)
}
}
Danach habe ich ein leeres Grundstück die Werte von oben mit:
plot(0, xlab="Time", ylab="Closing Prices", main="Stock Values",
xlim=c(stocks.min.date, stocks.max.date), ylim=c(stocks.min, stocks.max))
Und dann füge ich die Zeilen mit den Daten:
for (name in names(stocks))
{
lines(x=stocks[[name]]$Date, y=stocks[[name]]$Close, col=colors[[name]], type="l",
lwd=2)
}
Wenn der graph gezeichnet wird, wird die Daten korrekt angezeigt, aber es zeigt das Datum als Zahlen anstelle von Datumsangaben in der x-Achse, wie unten im Bild zu sehen:
Wie kann ich dieses Problem beheben?
Stocks [[Name]] $ Date <- as.Date (Stocks [[Name]] $ Date) 'vor dem Plotten Befehl, und dann sollte Ihre Plotbeschriftung wie erwartet funktionieren. – jdobres
Ich mache das schon, wenn ich die Daten in die erste for-Schleife lade – Daniel