2013-03-21 7 views
7

こんにちは私はRに新しいので、これは非常に基本的な質問である場合はお詫び申し上げます。 私はx軸上の点11のプロットにテキストを追加しようとしており、y軸上の点900を指しており、t0= -4.0280には0を添え字として表示します。 t0 <- -4.0280 はこれを行うには、どこで試してみた:プロットポイントラベルのテキストに下付き文字を含める方法

text(11,900,paste("t[0]=",t0),cex=0.8) 
# which gives 
't[0]= -4.0280' 

text(11,900,expression(paste("t[0]=",t0)),cex=0.8) 
# which gives 
't[0]=t0' 

# the closest I've gotten is:  
text(11,900,expression(paste(t[0]==t0)),cex=0.8) 

た添字を使用しますが、-4.0280の私の値の代わりにt0を返します。

誰でも私が間違って行った場所を教えてもらえますか?

乾杯。

答えて

5

expressionsubstituteに置き換えることができます。 pasteの必要はありません。引数list(t0 = t0)がオブジェクトt0の値を文字列t0を交換するsubstituteを伝えます:substituteよりやや短い

plot(1,1) 

t0 <- 1.3 

text(1, 0.8, substitute(t[0]==t0, list(t0 = t0)), cex = 0.8) 

enter image description here

3

bquoteである:

plot(1,1) 
t0 <- -4.0280 
text(1, 0.8, bquote("t"[0] ~ "=" ~ .(t0))) 

のあなたがしたい場合そこにpasteを使用するように:

text(1, 0.8, (bquote("t"[0]~.(paste0('=',t0))))) 

Qのこの種のは、以前にポップアップしています

Using subscript and variable values at the same time in Axis titles in R

Concatenate strings and expressions in a plot's title

+1

みんなありがとう、それらの答えの両方がとてもうまくいきました。ちょうど明確にするために、これが正しく使用されていない場合、いつ私は「ペースト」を使用すべきですか? – JJS

+0

ここで 'paste 'の使い方の例を示します。http://stackoverflow.com/a/15506875/1036500 – Ben

+0

ここで' paste'を使う方法を示すために私の答えを編集しましたが、これは最も効率的ではありません方法。私は通常、あなたの例のような変数を含むオブジェクトではなく、文字ベクトルを作成するために 'paste'を使います。つまり、私は時々 'paste(result = paste0(" examp "、i))'のようなものを実行しますが、ここではペースト結果が評価されますが、これは悪い習慣とみなされます - 'library(fortunes); fortune(106)' – Ben

関連する問題