3

大規模なデータセットがあり、PCA をプロットしようとしていました。結果のプロットにはかなり満足していますが、いくつか変更したいと思います。

矢印: 背景にあり、データ ポイントで覆われているように見えます。1)どうすればそれらをフォアグラウンドにできますか? 2) どうすれば色とフォントサイズを変更できますか?

楕円: 3) 線を太くするには?

凡例 4) プロット自体の右上に配置する方法は?

前もって感謝します!!

そのグラフを取得した方法は次のとおりです。

g <- ggbiplot(LS_3.pca, choices = 1:2, scale = 1, pc.biplot =
       TRUE, obs.scale = 1, var.scale = 1, groups =
       LS.loc, ellipse = TRUE, ellipse.prob = 0.98, labels =
       NULL, labels.size = 5, alpha = 0.25, circle
     = FALSE, circle.prob = 0.69, varname.size = 5,
     varname.adjust = 1.5, varname.abbrev = FALSE, var.axes = TRUE)
g <- g + xlim(-8, 6) + ylim(-4, 6)
g <- g + theme_classic()

print(g)
4

2 に答える 2

5

ggbiplot はクラス "ggplot" のオブジェクトを返します。このオブジェクトを調べると、「レイヤー」と呼ばれるリストが含まれていることがわかります。geom_segment レイヤーは geom_point レイヤーの前に表示されます。これらを並べ替えたいとします。geom_segment レイヤーが 4 のレイヤー 2 である場合、次のことができます (例):

myplot$layers <- c(myplot$layers, myplot$layers[[2]])

これにより、リストの最後に追加のレイヤー (矢印を描画する) が追加され、このレイヤーは (前のレイヤーの) ポイントがプロットされた後に描画されます。このハックは、必要な機能を提供するのに十分です。

編集:この回答は、矢印を前景に配置する問題のみをカバーしていることに気付きました。これは私が遭遇した問題だったので、他の人が使用できるようにここで私の解決策を提供しています。他の問題を解決するには、コンソールで次のように入力することをお勧めします。

ggbiplot

かっこなしで、関数本体をリストします。新しい関数 ("my_ggbiplot" など) を定義する新しい R スクリプトにカット アンド ペーストし、ハックして必要なものを取得します。これは長い関数ではなく、すべての機能を理解するのは非常に簡単です。ただし、矢印を前景にする場合は、上記の 1 行修正が機能します。

于 2015-12-07T14:09:38.680 に答える