Podemos asumir que tenemos un archivo CSV, y le desea un muy básico de la línea de parcela con varias líneas sobre una parcela y una simple leyenda.
Respuestas
¿Demasiados anuncios?La forma más fácil es usar R
Uso read.csv
a introducir los datos en R, entonces el uso de una combinación de la plot
y line
comandos
Si quieres algo realmente especial, y luego mirar las bibliotecas ggplot2 o de celosía.
En ggplot2
los siguientes comandos deben empezar.
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)
Esto le daría el siguiente diagrama:
Ahorro de grácos en R
Ahorro de grácos en R es sencillo:
#Look at ?jpeg to other different saving options
jpeg("figure.jpg")
print(p)#for ggplot2 graphics
dev.off()
En lugar de jpeg
's también se puede guardar como un pdf
o archivo postscript:
#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()
R es definitivamente la respuesta. Sólo quiero agregar a lo que Rob y Colin ha dicho:
Para mejorar la calidad de sus parcelas, usted debe considerar el uso de el Cairo paquete para el dispositivo de salida. Que mejorará en gran medida la calidad de los gráficos finales. Simplemente llame a la función antes de trazar y redirige a el Cairo como el dispositivo de salida.
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
Por último, en términos de poner en una publicación, que es el papel que Sweave
juega. Esto hace que la combinación de las parcelas con su papel de una operación trivial (y tiene el beneficio añadido de salir con algo que es reproducible y comprensible). Uso cacheSweave
si usted tiene el tiempo de ejecución cálculos.
Mi herramienta favorita es Python con mathplotlib
Las ventajas:
- Inmediata de la exportación desde el entorno donde hago mis experimentos en la
- Apoyo para la scipy/numpy estructuras de datos
- Sintaxis Familiar/opciones (matlab fondo)
- Látex completo soporte para etiquetas o leyendas etc. Así mismo la composición como en el resto de su documento!
Específicamente, para los diferentes formatos de archivo como svg y eps, utilice el parámetro de formato de savefig
Un ejemplo: de entrada.csv
"La línea de 1",0.5,0.8,1.0,0.9,0.9 "La línea de 2",0.2,0.7,1.2,1.1,1.1
Código:
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')
Echa un vistazo a la muestra de las galerías en tres populares de visualización de las bibliotecas:
- matplotlib galería (Python)
- R gráfico de la galería (R) - (vea también ggplot2, desplácese hacia abajo para referencia)
- prefuse la visualización de la galería (Java)
Para los dos primeros, incluso se puede ver el código fuente asociado -- las cosas simples es simple, no muchas líneas de código. El prefuse caso tendrán el requisito de Java de código repetitivo. Tres admiten un número de motores/dispositivos/programas de renderizado (pdf, ps, png, etc). Todos los tres son claramente capaces de gráficos de alta calidad.
Creo que prácticamente se reduce a que el lenguaje se siente usted más cómodo trabajando. Vaya con eso.