3

を見つけましたが、x 軸にと coord_transを適用したいと思います。2つの変換を適用してみましたlog10reverse

ggplot(table) + aes(color=Vowel, x=F1, y=F2) + geom_point() + coord_trans(x="log10", y="log10") + coord_trans(x="reverse", y="reverse")

しかし、最初のものだけが適用されました。ということでリンクしてみました

ggplot(table) + aes(color=Vowel, x=F2, y=F1) + geom_point() + coord_trans(x=c("log10", "reverse"), y=c("log10", "reverse"))

これは私に単純なエラーを与えます。

'c("log10_trans", "reverse_trans")' is not a function, character or symbol

それらを連鎖させるにはどうすればよいですか?

4

3 に答える 3

4

を使用して新しい変換を定義できますtrans_new

library(scales)
log10_rev_trans <- trans_new(
  "log10_rev",
  function(x) log10(rev(x)),
  function(x) rev(10 ^ (x)),
  log_breaks(10),
  domain = c(1e-100, Inf)
)

p <- ggplot(mtcars, aes(wt, mpg)) +
   geom_point()   

p + coord_trans(y = log10_rev_trans)
于 2012-09-24T18:20:04.257 に答える
1

すばやく簡単な方法は、変換の 1 つをデータに直接適用し、もう 1 つを関数 plot で使用することです。

例えば

ggplot(iris, aes(log10(Sepal.Length), log10(Sepal.Width), colour = Species)) + 
geom_point() + coord_trans(x="reverse", y="reverse")

注: 逆変換は虹彩データでは機能しませんが、アイデアは得られます。

于 2012-09-24T18:15:40.900 に答える