Wir können davon ausgehen, dass wir eine CSV-Datei haben und ein sehr einfaches Liniendiagramm mit mehreren Linien auf einem Plot und einer einfachen Legende wollen.
Wir können davon ausgehen, dass wir eine CSV-Datei haben und ein sehr einfaches Liniendiagramm mit mehreren Linien auf einem Plot und einer einfachen Legende wollen.
Antworten:
Am einfachsten ist es, R zu verwenden
Verwenden Sie read.csv
, um die Daten in R einzugeben, und verwenden Sie dann eine Kombination der Befehle plot
undline
Wenn Sie etwas ganz Besonderes wollen, schauen Sie sich die Bibliotheken ggplot2 oder lattice an .
In ggplot2
den folgenden Befehlen sollten Sie loslegen.
require(ggplot2)
#You would use read.csv here
N = 10
d = data.frame(x=1:N,y1=runif(N),y2=rnorm(N), y3 = rnorm(N, 0.5))
p = ggplot(d)
p = p+geom_line(aes(x, y1, colour="Type 1"))
p = p+geom_line(aes(x, y2, colour="Type 2"))
p = p+geom_line(aes(x, y3, colour="Type 3"))
#Add points
p = p+geom_point(aes(x, y3, colour="Type 3"))
print(p)
Dies würde Ihnen das folgende Diagramm geben:
Liniendiagramm http://img84.imageshack.us/img84/6393/tmpq.jpg
Speichern von Grundstücken in R
Das Speichern von Plots in R ist einfach:
#Look at ?jpeg to other different saving options
jpeg("figure.jpg")
print(p)#for ggplot2 graphics
dev.off()
Anstelle von jpeg
's können Sie auch eine pdf
oder eine Postscript-Datei speichern:
#This example uses R base graphics
#Just change to print(p) for ggplot2
pdf("figure.pdf")
plot(d$x,y1, type="l")
lines(d$x, y2)
dev.off()
m <- melt(d, id = "x"); qplot(variable, value, data = m, colour = variable)
Es ist schwierig, R für Grafiken zu übertreffen. Sie können in 3 Zeilen tun, was Sie wollen. Angenommen, die CSV-Datei enthält vier Spalten:
x <- read.csv("file.csv")
matplot(x[,1],x[,2:4],type="l",col=1:3)
legend("topleft",legend=c("A","B","C"),lty=1,col=1:3)
R ist definitiv die Antwort. Ich möchte nur hinzufügen, was Rob und Colin bereits gesagt haben:
Um die Qualität Ihrer Plots zu verbessern, sollten Sie in Betracht ziehen, das Cairo- Paket für das Ausgabegerät zu verwenden. Dadurch wird die Qualität der endgültigen Grafiken erheblich verbessert . Sie rufen die Funktion einfach vor dem Plotten auf und sie wird als Ausgabegerät nach Kairo umgeleitet.
Cairo(600, 600, file="plot.png", type="png", bg="white")
plot(rnorm(4000),rnorm(4000),col="#ff000018",pch=19,cex=2) # semi-transparent red
dev.off() # creates a file "plot.png" with the above plot
In Bezug auf die Veröffentlichung spielt diese Rolle eine entscheidende Rolle Sweave
. Das Kombinieren von Plots mit Ihrem Papier ist ein trivialer Vorgang (und hat den zusätzlichen Vorteil, dass Sie etwas erhalten, das reproduzierbar und verständlich ist). Verwenden cacheSweave
Sie diese Option, wenn Sie langwierige Berechnungen haben.
Mein Lieblingswerkzeug ist Python mit mathplotlib
Die Vorteile:
Verwenden Sie für verschiedene Dateiformate wie svg und eps den Formatparameter von savefig
Ein Beispiel: input.csv
"Zeile 1", 0,5,0,8,1,0,0,9,0,9 "Zeile 2", 0,2,0,7,1,2,1,1,1
Code:
import csv
import matplotlib.pyplot as plt
legends = []
for row in csv.reader(open('input.csv')):
legends.append(row[0])
plt.plot(row[1:])
plt.legend(legends)
plt.savefig("out.svg", format='svg')
In den Beispielgalerien finden Sie drei beliebte Visualisierungsbibliotheken:
In den ersten beiden Fällen können Sie sogar den zugehörigen Quellcode anzeigen - das Einfache ist einfach, nicht viele Codezeilen. Der Prefuse-Fall verfügt über den erforderlichen Java-Boilerplate-Code. Alle drei unterstützen eine Reihe von Backends / Geräten / Renderern (pdf, ps, png usw.). Alle drei sind eindeutig in der Lage, qualitativ hochwertige Grafiken zu erstellen.
Ich denke, es kommt so ziemlich darauf an, in welcher Sprache Sie sich am wohlsten fühlen.
Eine andere Option ist Gnuplot
Einfach ist relativ. Kein Werkzeug ist einfach, bis Sie wissen, wie man es benutzt. Einige Werkzeuge mögen auf den ersten Blick schwieriger erscheinen, bieten Ihnen jedoch eine viel feinere Kontrolle, sobald Sie sie beherrschen.
Ich habe vor kurzem begonnen, meine Pläne in pgfplots zu machen . Als LaTeX-Paket (zusätzlich tikz
) ist es besonders gut darin, Dinge gut aussehen zu lassen. Die Schriftarten stimmen mit dem Rest des Dokuments überein und es ist viel einfacher, Ihre Diagramme visuell zu integrieren. Es ist nicht die einfachste Möglichkeit, Plots zu erstellen, aber es ist eine ziemlich einfache Möglichkeit, Plots zu erstellen, die mit Sicherheit die Qualität einer Veröffentlichung haben.