パッケージを使用してツリーマップを生成するパッケージ ( treemap
) を使用しています。ただし、これらのツリーマップのいくつかを一緒にプロットして、これらのプロットに異なる配色grid
を追加したいと思います。function は、グラフィックス ウィンドウをクリアする function を使用します。オブジェクトに対してできるように、オブジェクトを保存する方法が見つかりません。複数のオブジェクトを同じウィンドウにプロットする方法はありますか?tmPlot
grid.newpage
grid.newpage
ggplot2
grid.newpage
## Example
library(treemap)
# load Gross national income data
data(GNI2010)
size <- aggregate(GNI ~ continent, GNI2010, sum)
size <- size[with(size, order(GNI, decreasing = T)),]
cont <- size$continent
widths <- c(sum(size[c(1,3,5),]$GNI),
sum(size$GNI) - sum(size[c(1,3,5),]$GNI))
heights <- c(sum(size[c(1,2),]$GNI),
sum(size[c(3,4),]$GNI),
sum(size[c(5,6),]$GNI))
palettes <- c("Greens", "Blues", "Reds", "Oranges", "Purples", "Greys")
i <- 1 # This is to be replaced by for loop
x <- subset(GNI2010, continent == cont[i], cex = 5)
# create treemap
layout(matrix(1:6, 3, byrow = TRUE), widths = widths, heights = heights)
x1 <- tmPlot(x,
index=c("iso3"),
vSize="population",
vColor="GNI",
type="value", title = "",
position.legend = "none",
palette = palettes[i])
grid.text(cont[i], 0.5, 0.5, gp=gpar(fontsize=20, font = 2, col = "white"))
## x1 is does not make a plot as such and tmPlot overwrites layout
GNI 合計に基づいてプロットをスケーリングする私の解決策が正しくないことを理解しています。これらのツリーマップを同じウィンドウにプロットする方法を理解したら、後でそれについて別の質問をするかもしれません。
編集:この質問に対する答えは「いいえ」だと思います。現在、名前で grid.newpage オブジェクトを保存することはできません。説明で述べたように、関数は「現在のデバイスを消去するか、新しいページに移動する」ため、ページにこれらのいくつかを保存することもできません。ただし、回避策を見つけることは可能です。tmPlot
パッケージは現在 (2013 年 3 月 23 日現在) をサポートしていませんviewport
が、開発版はサポートしています。