垂直軸にログスケールを使用するggplot
プロットに垂直線を追加するにはどうすればよいですか?例えばログスケールを使用するときに縦線を追加するにはどうすればよいですか?
、予想通り
ggplot(data.frame(x=1:2, y=c(10,20)), aes(x,y)) +
geom_line() +
geom_vline(xintercept = 1.5)
作品。
ggplot(data.frame(x=1:2, y=c(10,20)), aes(x,y)) +
geom_line() +
geom_vline(xintercept = 1.5) +
coord_trans(y = 'log')
垂直軸をログスケールに変換すると、垂直線が消えます。
ggplot(data.frame(x=1:2, y=c(1,20)), aes(x,y)) + # y[1] is now different
geom_line() +
geom_vline(xintercept = 1.5) +
coord_trans(y = 'log')
を、次に縦線がまだ不足しているが、警告メッセージが発行されています:おそらく1は少しのデータを変更した場合という関係があり
Warning messages:
1: In self$trans$y$transform(y) : NaNs produced
2: In trans$transform(value) : NaNs produced
だから、それが欠落している行が原因で発生している可能性があります0(-Infと警告なし)または負の数(NaNと警告)のログを取ろうとしています。
(sessionInfo()
がR version 3.3.1 (2016-06-21)
とggplot2_2.2.0
を与えます。)
それは(閉鎖が、固定されていない)、これに関連している可能性があり問題:[geom_h/VLINE)は(coord_transと不完全または無線を描画(https://github.com/tidyverse/ggplot2/issues/895) – Henrik
[これは長年にわたり既知の問題でした](https://groups.google.com/forum/#!topic/ggplot2/FGbhwyfkc74)。 – Axeman