私は、ジャーナルパブリケーション、値のタイトルを含む行があり、normal
かhighlight
のデータポイントかどうかを示すデータフレームを持っています。私は、プロットがデータフレームの順序を保持したい。次のコードは、不均一に間隔を置いたy軸を生成します。ggplot2 scale_x_不均等な軸間隔をもたらす離散値
require(ggplot2)
title <- c("COGNITION","MUTAT RES-DNA REPAIR","AM J PHYSIOL-CELL PH","AM J PHYSIOL-CELL PH","BLOOD",
"PNAS","BIOCHEM BIOPH RES CO","CLIN CANCER RES","BIOCHEM BIOPH RES CO","MOL THER")
value <- c(-0.428, -0.637, -0.740, -0.782, -0.880, -1.974, -1.988, -2.029, -2.217, -2.242)
indicator <- c(rep("highlight",5), rep("normal",5))
df <- data.frame(title, value, indicator)
mycolors <- c("highlight" = "blue", "normal" = "red")
x_axis_range <- c((min(df$value)), (max(df$value)))
p <- ggplot(df, aes(x = title, y = value)) +
geom_point(aes(size=3, color=indicator)) +
coord_flip() +
scale_color_manual(values=mycolors) +
scale_y_continuous(limit=x_axis_range) +
# produces uneven spacing
scale_x_discrete(limits=df$title) +
theme(legend.position="none")
show(p)
ggplotがMOL THER
とCLIN CANCER RES
とBLOOD
とAM J PHYSIOL-CELL PH
データポイントの間に余分なスペースを追加している理由を私は知りません。私はscale_x_discrete()
行を変更する場合:
scale_x_discrete(limits=df$title.1) +
この間隔は均一になるが、データの順序は下から上からタイトルのアルファベット順に変更されます。
なぜさえ間隔アウトlimits=df$title
の最後に.1
を追加するのでしょうか?この均等性を維持するにはどうすればいいのですが、order()
関数を使ってy軸に沿ってデータの順序を制御することはできますか?
パーフェクト!素晴らしい答え。 – tn3rt