ggplot を使用して、カテゴリ ラベル付きの横棒グラフを作成しようとしています。
手間をかけずにプロットを作成でき、ラベルを付けることができましたが、フォーマットに問題がありました。最終的には、ラベルが収まる場合はバー内に、それ以外の場合はラベルを切り捨てずにバーのすぐ外側にラベルを付けたいと考えています。
以下は、これまでに試したことです。
データ
dt1 <- data.table(x=c("a","b","c","d","e"), y=c(43,52,296,102,157), y2=c(50,10,100,45,80))
チャート 1
ggplot() + geom_bar(data=dt1, aes(x=x, y=y), stat="identity",fill="red") + coord_flip() +
geom_text(data=dt1, aes(x=x, y=y, label=paste0("$",y," from ",y2," records")),hjust=0)
以下に示すように、ラベルは切り捨てられます。
チャート 2
次に、この質問に出くわしました。これは役に立ち、y 変数に基づいてラベルの位置を設定していることに気付きました。今はそれをハードコーディングし、hjust を使用して軸からパディングしました。
ggplot() + geom_bar(data=dt1, aes(x=x, y=y), stat="identity",fill="red") + coord_flip() +
geom_text(data=dt1, aes(x=x, y=0, label=paste0("$",y," from ",y2," records")),hjust=-0.1)
しかし、以下に示すように、2 つのラベルしかバーに収まらないことがわかります。そのため、他のラベルは、グラフ 1 のようにバーの外側の最後に配置することをお勧めします。
チャート 1 とチャート 2 の両方の長所を活かすプログラム的な方法はありますか?