R2SWF
1.0.0
R 그래픽을 플래시 파일 (SWF 형식)으로 변환하는 R 패키지입니다. 전환은 두 가지 다른 방식으로 수행 할 수 있습니다.
plot() 및 lines() 와 같은 플롯 기능을 사용하여 직접 SWF 파일을 생성 할 수 있습니다. 컨벤션은 당신이 높은 수준의 플로팅 함수를 호출 할 때마다 plot() 가 새로운 프레임을 만들고이 프레임에서 다음과 같은 모양을 그릴 것입니다. 이러한 방식으로 일련의 plot() 함수를 호출하여 일부 애니메이션을 만들 수 있습니다.svg2swf() 는 svg에서 swf로 변환하고 png 및 jpg 이미지를 단일 SWF 파일로 변환하려면 image2swf() 변환합니다. R2SWF 다음 라이브러리에 따라 다릅니다.
libming 의 소스 코드는 R2SWF 에 포함되어 있으며 다른 세 개를 직접 설치해야합니다.
Debian/Ubuntu 사용자의 경우 종속 라이브러리를 설치하라는 명령은 다음과 같습니다.
sudo apt-get install zlib1g-dev libpng12-dev libfreetype6-dev
RPM 기반 시스템 (예 : Fedora)의 경우 실행을 시도하십시오
sudo yum install zlib-devel libpng-devel freetype-devel
첫 번째 예에서는 먼저 png() 함수를 사용하여 20 개의 이미지를 생성 한 다음 단일 SWF 파일 R2SWF-ex1.swf 로 변환합니다.
# # Creating png files
png( " image-png-%03d.png " , 480 , 300 )
x = seq( 0 , 2 * pi , length.out = 20 )
cols = rainbow( 20 )
for ( i in 1 : 20 ) plot( x [ i ], sin( x [ i ]), xlim = c( 0 , 2 * pi ), ylim = c( - 1 , 1 ),
col = cols [ i ], pch = 16 , cex = 2 , main = " PNG => SWF " )
dev.off()
# # Obtain the filenames
pngfiles = sprintf( " image-png-%03d.png " , 1 : 20 )
# # Convert to SWF
image2swf( pngfiles , " R2SWF-ex1.swf " , interval = 0.3 )
svg2swf 사용하는 것은 출력 애니메이션에 벡터 그래픽이 포함되어 있다는 점을 제외하고는 매우 유사합니다.
# # Do similar things as above
svg( " image-svg-%03d.svg " , 8 , 5 )
x = seq( 0 , 2 * pi , length.out = 20 )
cols = rainbow( 20 )
for ( i in 1 : 20 ) plot( x [ i ], sin( x [ i ]), xlim = c( 0 , 2 * pi ), ylim = c( - 1 , 1 ),
col = cols [ i ], pch = 16 , cex = 2 , main = " SVG => SWF " )
dev.off()
svgfiles = sprintf( " image-svg-%03d.svg " , 1 : 20 )
# # Convert to SWF
svg2swf( svgfiles , " R2SWF-ex2.swf " , interval = 0.3 )
세 번째 예제는 SWF 장치를 사용하여 SWF 파일을 직접 생성하는 방법을 보여줍니다.
swf( " R2SWF-ex3.swf " )
set.seed( 123 )
x = rnorm( 5 )
y = rnorm( 5 )
for ( i in 1 : 100 ) {
plot( x <- x + 0.1 * rnorm( 5 ), y <- y + 0.1 * rnorm( 5 ),
xlim = c( - 3 , 3 ), ylim = c( - 3 , 3 ), col = " steelblue " ,
pch = 16 , cex = 2 , xlab = " x " , ylab = " y " )
title( " Brownian Motion " )
}
dev.off() 일반적으로 SWF 장치를 사용할 때 고급 플로팅 함수 (예 : plot() )은 영화를 한 프레임으로 발전시키고 저수준 기능 ( lines() , text() 등)는 현재 프레임에만 효과적입니다.