4

整数のシーケンスを式のリテラルのシーケンスにマップして、後者をプロットの目盛りラベルとして使用したいと思います。

lbls <- lapply(-2:2, function(i) expression(i * pi))
plot(...)
axis(1, at=seq(-2,2)*pi, labels=lbls)

これまで、考えられるすべてのバリエーション、bquoteなどを試しましたが、どうやら何かを逃したに違いありません。また、FAQおよび関連するSOの質問と回答では、これを完全に解決することはできませんでした。substituteexpression

どうすれば正しく実行できますか(ギリシャ文字としてaxisレンダリングし、上記の例で...を置き換えたい)?pi-22i

4

2 に答える 2

4

これを試して:

lbls <- do.call("expression", lapply(-2:2, function(i) substitute(X * pi, list(X = i))))
plot(-10:10, -10:10, xaxt="n")
axis(1, at=seq(-2,2)*pi, labels=lbls)

ここに画像の説明を入力してください

于 2012-04-06T10:33:44.530 に答える
2

これを試して:

lbls <- parse(text = paste(seq(-2, 2), "pi", sep = "*"))
于 2012-04-06T10:48:02.783 に答える