私がやりたいことは次のとおりです。
a)コードによって生成されるプロットは、ggplot
実行するたびに同じになります[set.seed種類の概念?]
b)同じ y 軸値を持つラベルに対してのみ、テキスト ラベルをジッタリングします。他のテキスト ラベルはそのままにしておきます。これは、ポイントの係数値に基づくある種の条件付きジッターのように見えます。
ここにいくつかのデータがあります:
dput(df)
structure(list(Firm = c("a verylongname", "b verylongname", "c verylongname",
"d verylongname", "e verylongname", "f verylongname", "g verylongname",
"h verylongname", "i verylongname", "j verylongname"), Sum = c(74,
77, 79, 82, 85, 85, 88, 90, 90, 92)), .Names = c("Firm", "Sum"
), row.names = c(NA, 10L), class = "data.frame")
ggplot
df を使用したコードは次のとおりです。
ggplot(df, aes(x = reorder(Firm, Sum, mean), y = Sum)) +
geom_text(aes(label = Firm), size = 3, show.guides = FALSE, position = position_jitter(height = .9)) +
theme(axis.text.x = element_blank()) +
scale_x_discrete(expand = c(-1.1, 0)) + # to show the lower left name fully
labs(x = "", y = "", title = "")
プロットの 1 つのバージョンがまだ h と i に重なっていることに注意してください。上記のコードを実行するたびに、テキスト ラベルの位置が変わります。
ところで、この質問の条件付きジッターは、x 軸の離散値を少しシフトしますが、y 軸のオーバーラップ ポイント (のみ) をシフトしたいと思います。