modificar - Anti-aliasing en gráficos R en Windows(según Mac)
plot en r (4)
Es probable que esto dependa de los detalles del motor de representación en cada plataforma, lo que podría ser difícil de modificar. Mis sugerencias (sin probar, por falta de tiempo y acceso a Windows):
- instale el paquete
cairoDevice
y useCairo_png()
. Según la documentación:
This functions the same as any other R graphics device. You may use the conventional plot commands and expect essentially the same output, except that everything is anti-aliased (similar to other vector-based devices like Quartz). Alpha-blending is supported, as is enhanced interactivity via ‘getGraphicsEvent’. The device should work the same across all supported platforms (Mac, Windows, and Linux).
- Procese el PNG a una resolución mucho más alta (o los datos de salida de R como PDF) y use ImageMagick (
convert
) o alguna otra herramienta para obtener la versión de antialias que necesita.
¿hay una manera de trazar gráficos con antialias de la versión de Windows de R? Como puede ver en las dos versiones siguientes, la versión para Mac de R imprime gráficos con alias ...
.... mientras que mientras la versión de Windows suaviza el texto de los alias, no lo hace con el gráfico real, como se puede ver desde los puntos de subida, y la cuadrícula:
Aquí está el código por cierto:
library(scatterplot3d)
attach(mtcars)
s3d <-scatterplot3d(wt,disp,mpg, pch=16, highlight.3d=TRUE,
type="h", main="3D Scatterplot")
fit <- lm(mpg ~ wt+disp)
s3d$plane3d(fit)
Necesito la máxima calidad posible, para la publicación de la página web. Estoy ejecutando Windows 7 y extrayendo datos de RBloomberg, que solo funciona bajo Windows.
Instalar cairoDevice
ya no es necesario para usar Cairo con dispositivos png
. Ahora puede especificar type=''cairo''
al abrir el dispositivo. Compara lo siguiente:
png(''test1.png'', 500, 500)
s3d <- scatterplot3d(wt,disp,mpg, pch=16, highlight.3d=TRUE,
type="h", main="3D Scatterplot")
fit <- lm(mpg ~ wt+disp)
s3d$plane3d(fit)
dev.off()
png(''test2.png'', 500, 500, type=''cairo'')
s3d <- scatterplot3d(wt,disp,mpg, pch=16, highlight.3d=TRUE,
type="h", main="3D Scatterplot")
fit <- lm(mpg ~ wt+disp)
s3d$plane3d(fit)
dev.off()
Estoy ejecutando Win 8.1 y R 3.2.2 de 64 bits.
No es necesario que vaya a través de archivos, puede instalar el dispositivo cairoDevice como lo sugiere Ben Bolker, y luego llamar a la función Cairo () que le dará una ventana de trazado completamente anti-alias bajo Windows (aunque más lento).
Utilice un dispositivo vectorial como pdf. Primero asegúrese de tener esa capacidad y, por lo tanto, no es sorprendente que la función de capabilities
sea lo que debe verificar. Si tienes pdf entonces simplemente haz esto:
pdf(file="out_graph.pdf")
s3d <-scatterplot3d(wt,disp,mpg, pch=16, highlight.3d=TRUE,
type="h", main="3D Scatterplot")
fit <- lm(mpg ~ wt+disp)
s3d$plane3d(fit)
dev.off()
Una alternativa para la salida web podría ser el dispositivo de gráficos png (). Obtiene altas calificaciones por su compacidad y compatibilidad con el navegador web, aunque es un formato ráster.