単一のデータフレームのサブセットから、R(ループ付き)の円グラフのセットを作成しています。素敵な円グラフが得られますが、すべての円グラフで同じ値に色を割り当てたいのに対し、各円グラフでは常に同じ順序で色が割り当てられています。
私のコードは:
for (i in 1:length(voisins)) {
y <- subset(zz, Destination==voisins[i])
pie(y$pc,labels=y$Names, col=terrain.colors(nrow(y)) , main=c(y$country[1]))
それぞれに同じ色にしたいのですがy$Names
。
ここに画像を入れることは許可されていないので、そこに入れます:http: //cl.ly/image/080t2Q1v1q3V
同じ領域が同じ色であれば読みやすくなります!これを達成する方法はありますか?
解決 :
アルン、あなたの答えに感謝しますが、残念ながら、これは私が望む結果を生み出しません。おそらく私はそれを十分に明確に説明していませんでした。ggplotはより優れたグラフィックパッケージであると信じており、すぐにその使用方法を学びますが、今のところ時間がないので、とにかくあなたの答えは私を正しい方向に導いてくれます。私は解決策を見つけました:実際には、例でより大きな「t」(より多くの行を含む)を作成し、そのサブセットを取得すると、t1、t2、t3、...が小さくなり、常に同じt$idになるとは限りません。したがって、t1ではid =(2,4,9,3)、t2ではid =(4,6,3)というようになります。色は常に同じ順序で割り当てられていることがわかります。つまり、t1 2 =赤、4 =緑、9 =青、3 =紫、t2 4 =赤、6 =緑、3=青になります。したがって、色はパイごとに異なり、常に2 =赤、4 =緑、3 =青、9=バイオレット。私が見つけた解決策は、t $ idに従ってカラー列をtにマージし、それをサブセットt1、t2、t3、...に保持し、col = t1 $ color、col = t2$colorなどを設定することです。 pieコマンドで。ようやく簡単になりましたが、自動解決を望んでいたので、後でPaulの解決策を見ることにします。ディディエ