金子邦彦研究室プログラミングR のプログラム例R システムで,グラフを PDF, SVG, HTML 形式で保存(R システム,ggplot2,gridExtra,gridSVG を使用)

R システムで,グラフを PDF, SVG, HTML 形式で保存(R システム,ggplot2,gridExtra,gridSVG を使用)

このページでは,R システムでのグラフ作成について, 次のことを行う手順を説明する.

関連する外部ページ

R システムの CRAN の URL: https://cran.r-project.org/

サイト内の関連ページ

前準備

R システムのインストール

R システムの CRAN の URL: https://cran.r-project.org/

ggplot2 のインストール

R システムで,次のコマンドを実行し,ggplot2 をインストールする.

このとき「Secure CRAN mirrors」のような,ミラーサイトの選択画面が出たときは「Japan」のものを選ぶ.

install.packages("ggplot2")

gridExtra のインストール

R システムで,次のコマンドを実行し,gridExtra をインストールする.

このとき「Secure CRAN mirrors」のような,ミラーサイトの選択画面が出たときは「Japan」のものを選ぶ.

install.packages("gridExtra")

gridSVG のインストール

R システムで,次のコマンドを実行し,gridSVG をインストールする.

このとき「Secure CRAN mirrors」のような,ミラーサイトの選択画面が出たときは「Japan」のものを選ぶ.

install.packages("gridSVG")

XML のインストール

R システムで,次のコマンドを実行し,XML をインストールする.

このとき「Secure CRAN mirrors」のような,ミラーサイトの選択画面が出たときは「Japan」のものを選ぶ.

install.packages("XML")

PDF, SVG, HTML 形式で保存

グラフからの PDF ファイル作成例

■ Iris データセットの例

library(gridExtra) 
library(ggplot2) 
cairo_pdf(file="out%03d.pdf")
p <- ggplot(iris) 
p <- p + geom_point( aes(x = iris[,1], y = iris[,2], colour = iris[,5]) ) + scale_colour_hue()
p
dev.off()
getwd()

[image] 

PDF ファイルが作成される

[image] 

library(gridExtra) 
cairo_pdf(file="out%03d.pdf")
grid( plot( iris[,1], iris[,2], col=iris[,5] ) )
dev.off()
getwd()

[image] 

PDF ファイルが作成される

[image] 

グラフからの SVG ファイル作成例

■ Iris データセットの例

library(gridExtra) 
library(ggplot2) 
svg(file="out%03d.svg")
p <- ggplot(iris) 
p <- p + geom_point( aes(x = iris[,1], y = iris[,2], colour = iris[,5]) ) + scale_colour_hue()
p
dev.off()
getwd()

[image] 

SVG ファイルが作成される

[image] 

library(gridExtra) 
svg(file="out%03d.svg")
grid( plot( iris[,1], iris[,2], col=iris[,5] ) )
dev.off()
getwd()

[image] 

SVG ファイルが作成される

[image] 

グラフからの HTML ファイル作成例

要点

前準備として, R システムで,次のコマンドを実行し,gridSVG と XML をインストールする.

このとき「Secure CRAN mirrors」のような,ミラーサイトの選択画面が出たときは「Japan」のものを選ぶ.

install.packages("gridSVG")
install.packages("XML")

■ Iris データセットの例

library(gridSVG)
library(XML)
library(ggplot2)

htmlhead <- 
'
<!DOCTYPE html>
<head>
  <meta charset = "utf-8">
  <script src = "http://d3js.org/d3.v3.js"></script>
</head>

<body>
'

htmltail <- 
'
</body>
</html>
'

p <- ggplot(iris)
p <- p + geom_point( aes(x = iris[,1], y = iris[,2], colour = iris[,5]) ) + scale_colour_hue()
p
mysvg <- grid.export(NULL, addClasses=TRUE)
sink("out.html")
cat(htmlhead, saveXML(mysvg$svg), htmltail)
sink(file=NULL)
getwd()

sink で指定したファイル out.html ができるので確認する.

[image]