ggplotに水平線があり、y軸に値(7.1)を付けたいと思います。R ggplot2:y軸の水平線に数値でラベルを付ける
library(ggplot2)
df <- data.frame(y=c(1:10),x=c(1:10))
h <- 7.1
plot1 <- ggplot(df, aes(x=x,y=y)) + geom_point()
plot2 <- plot1+ geom_hline(aes(yintercept=h))
ありがとうございました。
ggplotに水平線があり、y軸に値(7.1)を付けたいと思います。R ggplot2:y軸の水平線に数値でラベルを付ける
library(ggplot2)
df <- data.frame(y=c(1:10),x=c(1:10))
h <- 7.1
plot1 <- ggplot(df, aes(x=x,y=y)) + geom_point()
plot2 <- plot1+ geom_hline(aes(yintercept=h))
ありがとうございました。
7.1をy軸の一部にしたいのか、それとも単にその行にラベルを付ける方法が必要なのかは分かりません。前者を仮定すると、scale_y_continuous()
を使用して独自の区切りを定義できます。このような何かが(最も可能性が高いいくつかのあいが必要になります)、あなたがやりたいことがあります。
plot1+ geom_hline(aes(yintercept=h)) +
scale_y_continuous(breaks = sort(c(seq(min(df$y), max(df$y), length.out=5), h)))
は後者を想定すると、これはあなたが何をしたい、おそらくもっとある:
plot1 + geom_hline(aes(yintercept=h)) +
geom_text(aes(0,h,label = h, vjust = -1))
どうやってこのようなことができますか?
plot1 + geom_hline(aes(yintercept=h), colour="#BB0000", linetype="dashed") +
geom_text(aes(0, h, label = h, vjust = -1), size = 3)
チェースのsolutionに似ていますが、既存のラベルを変更しました。
ggplot_build(plot1)$layout$panel_ranges[[1]]$y.major_source
はexisitngラベルを抽出し、新しいものh
を追加するために使用することができます。
plot1 + geom_hline(aes(yintercept=h)) +
scale_y_continuous(breaks = sort(c(ggplot_build(plot1)$layout$panel_ranges[[1]]$y.major_source, h)))
scale_y_continuousソリューションをありがとうございました。 –
ラインが、係数xの値を持つ棒グラフのオーバーレイの場合はどうしますか? –
ラベルをy軸上に表示することはできますが、代わりにプロットの右側に表示できますか? –