使用带有自定义转换的coord_trans()时ggplot中奇怪的geom_vline()行为
我试图在我的情节中使用一个新的符号。它工作得很好使用带有自定义转换的coord_trans()时ggplot中奇怪的geom_vline()行为,r,ggplot2,scaletransform,R,Ggplot2,Scaletransform,我试图在我的情节中使用一个新的符号。它工作得很好 library(tidyverse) library(scales) log_modulus_trans <- function() trans_new(name = "log_modulus", transform = function(x) sign(x) * log(abs(x) + 1), inverse = function(x) sign(x) * ( exp(abs(
library(tidyverse)
library(scales)
log_modulus_trans <- function()
trans_new(name = "log_modulus",
transform = function(x) sign(x) * log(abs(x) + 1),
inverse = function(x) sign(x) * ( exp(abs(x)) - 1 ))
# fake data
set.seed(1)
d <- data_frame(
tt = rep(1:10, 3),
cc = rep(LETTERS[1:3], each = 10),
xx = c(rnorm(10, mean = 100, sd = 10),
rnorm(10, mean = 0, sd = 10),
rnorm(10, mean = -100, sd = 10)))
ggplot(data = d,
mapping = aes(x = tt, y = xx, group = cc)) +
geom_line() +
coord_trans(y = "log_modulus")
你知道如何让
geom_vline()
从绘图窗口的顶部转到底部吗。。。还是解决黑客问题?这里有一个使用geom\u段的解决方案
ggplot(data = d,
mapping = aes(x = tt, y = xx, group = cc)) +
geom_line() +
geom_segment(x = 5, xend = 5, y = -150, yend = 150) +
coord_trans(y = "log_modulus")
ggplot(data = d,
mapping = aes(x = tt, y = xx, group = cc)) +
geom_line() +
geom_segment(x = 5, xend = 5, y = -150, yend = 150) +
coord_trans(y = "log_modulus")