Ini adalah paket R untuk mengonversi grafik R ke file flash (format SWF). Konversi dapat dilakukan dengan dua cara berbeda:
plot() dan lines() . Konvensi adalah bahwa setiap kali Anda menyebut fungsi plot tingkat tinggi, misalnya plot() , film ini akan membuat bingkai baru dan menggambar bentuk-bentuk berikut dalam bingkai ini. Dengan cara ini, Anda dapat membuat beberapa animasi dengan memanggil serangkaian fungsi plot() .svg2swf() untuk mengonversi dari SVG ke SWF, dan image2swf() untuk mengubah gambar PNG dan JPG menjadi file SWF tunggal. R2SWF tergantung pada perpustakaan berikut:
Kode sumber libming termasuk dalam R2SWF , dan Anda perlu menginstal tiga lainnya sendiri.
Untuk pengguna Debian/Ubuntu, perintah untuk menginstal perpustakaan dependen adalah
sudo apt-get install zlib1g-dev libpng12-dev libfreetype6-dev
Untuk sistem berbasis RPM (misalnya Fedora), cobalah untuk menjalankan
sudo yum install zlib-devel libpng-devel freetype-devel
Dalam contoh pertama, pertama-tama kami membuat 20 gambar menggunakan fungsi png() , dan kemudian mengubahnya menjadi satu file 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 )
Menggunakan svg2swf sangat mirip, kecuali bahwa animasi output berisi grafik vektor.
# # 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 )
Contoh ketiga menunjukkan cara menggunakan perangkat SWF untuk membuat (daripada mengonversi) file SWF secara langsung.
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() Secara umum, saat menggunakan perangkat SWF, fungsi plot tingkat tinggi (misalnya plot() ) akan memajukan film dengan satu bingkai, dan fungsi tingkat rendah ( lines() , text() , dll.) Hanya efektif untuk bingkai saat ini.