
Ich habe Daten auf einem Linux-System, etwa 44.000 Datenpunkte, aus denen ich ein Streudiagramm erstellen möchte. Das Diagramm sollte so gespeichert werden, dass es auf einer Website angezeigt werden kann (JPG?).
Einige andere Parameter:
X-Achse: ein Tag pro Tick, max. 31 Tage insgesamt
Y-Achse: Ganzzahl 0-100, Teilstriche alle 10
Streudiagramm … Zeichnen Sie KEINE Linien zwischen den Punkten.
Jeder Datenpunkt sieht wie folgt aus:
20.10.2010 23:45:22,57 Uhr
Möchte Beschriftungen für die X- und Y-Achse einschließen
Möchte einen Titel einfügen
Ich möchte, dass die Tage entweder als 10/20 unter jedem X-Tick-Punkt oder einfach als Tagesnummer angezeigt werden
Irgendwelche Ideen, welche Programme ich in Betracht ziehen sollte? Hoffentlich kostenlos. Ich habe die Wahl zwischen Linux-Betriebssystemen, Centos 5.5, Fedora 13, Suse 11 SP1.
Vielen Dank für Ihre Hilfe und Rücksichtnahme.
Antwort1
gnuplotsollte Ihren Anforderungen gerecht werden. Es kann auf verschiedenen Leinwänden wie PNG und SVG gerendert werden.
Antwort2
Rmit Hadley Wickhams exzellentemggplot2
Bibliothek. Die integrierte Grafikbibliothek ist völlig ausreichend, ggplot2
verfügt aber über schöne, vernünftige Standardeinstellungen.
nachdem R installiert ist, um ggplot2 zu installieren:install.packages("ggplot2")
Angenommen, Ihre Daten haben die Form:
date_time,value
10/20/2010 23:45:22,57
10/30/2010 23:45:22,102
Ihr gesamtes Skript in R würde ungefähr so aussehen:
mydata <- read.csv("path/to/csv/data.csv", sep=",",
header = TRUE, stringsAsFactors = FALSE)
mydata$date_time <- as.POSIXct(
strptime(mydata$date_time, "%m/%d/%Y %H:%M:%S")) #turns your dates
#into POSIX time objects
head(mydata) #just see that it looks good
library(ggplot2)
p <- ggplot(mydata, aes(date_time, value)) #make a ggplot2 plot object
p + geom_point() + ylab('Y label goes here') + #add points, ylabel, xlabel and a title
xlab("Date") + opts(title = "Snappy Title goes here")
Hier ist eines, das ich bei der Beantwortung dieser Frage mit demUSGS-Hydrographendaten für den Elwha