再現性を容易にするために、 ここからダウンロードできます データ。その構造は次のとおりです。
> str(data)
'data.frame': 30 obs. of 4 variables:
$ Count: num -15.26 NaN NaN -7.17 -49.37 ...
$ X1 : Factor w/ 1 level "Mean": 1 1 1 1 1 1 1 1 1 1 ...
$ X2 : Factor w/ 10 levels "DC1","DC10","DC2",..: 1 1 1 3 3 3 4 4 4 5 ...
$ X3 : Factor w/ 3 levels "SAPvsSH","SAPvsTD6",..: 1 2 3 1 2 3 1 2 3 1 ...
私はこのggplotチャートを実行します:
ggplot(data=data, aes(x=X2, y=Count, group=X3, colour=X3)) +
geom_point(size=5) +
geom_line() +
xlab("Decils") +
ylab("% difference in nº Pk") +
ylim(-50,25) + ggtitle("CL") +
geom_hline(aes(yintercept=0), lwd=1, lty=2) +
scale_x_discrete(limits=c(orden_deciles))
この結果で:
このグラフは、SAPを尊重するSHとTD6(それぞれ赤と緑の色で水平の黒い線)と、SHを尊重するTD6(この場合も水平の黒い線で表されますが)の違いのパーセンテージを表しています。現在は青色です)。私は10個の変数を採用しました:DC1:DC10
。
このチャートをレーダーチャートに変換したい。 ggradar
またはggRadar
を使用しようとしましたが、失敗しました。このようなものは素晴らしいでしょう:
前の画像の赤と青の両方の線の間に配置された円のように、水平の黒い線は完全に円形である必要があります。理想的には、DC1は時計回りに北向きに配置する必要があります。
何かアイデアや提案はありますか?
@DJackのおかげで、+ coord_polar()
を追加した結果をここに投稿します。
これが最終的なコードです。
ggplot(data=data, aes(x=X2, y=Count, group=X3, colour=X3)) +
geom_point(size=5) +
geom_line() +
xlab("Decils") +
ylab("% difference in nº Pk") +
ylim(-50,25) + ggtitle("CL") +
geom_hline(aes(yintercept=0), lwd=1, lty=2) +
scale_x_discrete(limits=c(orden_deciles)) +
coord_polar()
https://www.ggplot2-exts.org/ggradar.html と呼ばれるレーダー/スパイダーチャートを作成するためのggplot拡張機能があります
奇妙な理由で、データが整然とした/長い形式ではなく、幅の広いものであることが期待されています。