2017-03-29 5 views
4

text()の部分を、動的に変化するプロットの括弧(またはpoints()など)の上に常に表示するように修正する方法を知りましたか? つまり、の場合、プロット内のどこかでブラケット(またはpoints()など)の後ろにテキストがある場合、「x」「y」をどのようにして決定する必要がありますか? (以下の私のRコードを参照してください)ただ、一例としてプロットされたオブジェクトに続くテキストの位置を固定する方法

、私はその位置(XSおよびYS)以下のプロットのブラケットは関係なく、常にプロットがどのように変化するかを知られることになるだろうがあるとします。ここではこのブラケットの上にあるtext()の位置を固定することはできますか(現在はプロット内に表示されています)。

P.S.まず、ブラケットの「y」を取って、text()の「y」を(「y」のブラケット+ .1 *「y」のブラケット)にします。しかし、プロットが動的に変化する(すなわち、プロットが関数に接続されている)場合、の括弧で囲まれた+ .1 * "y"は、その間の距離を保証しないテキストテキストとブラケットは常に維持されます。ここ

enter image description here

Rコードの一部である:

if(!require(library(pBrackets))){install.packages('pBrackets') } 

library(pBrackets) 

plot(1:10, ty = 'n') 

brack <- brackets(x1 = 4, y1 = 6, x2 = 8, y2 = 6, h = 1, ticks = .5, curvature = .5, 
       type=1, col = "blue", 
       lwd = 2, xpd = T) 

text(x = 6, y = 7.2, "Equivalent to ZERO", font = 2) ## How to determine "x" and "y" 
                 # such that the "text" always 
                 # appears above the bracket 
                 # even if the plot changes. This helps making functions. 

答えて

1
plot(1:10, ty = 'n') 
x1 = 4 
y1 = 6 
x2 = 8 
y2 = 6 
h = 1 #Or some variation of h = sqrt((x2-x1)^2 + (y2-y1)^2)/4 
brack <- brackets(x1 = x1, y1 = y1, x2 = x2, y2 = y2, h = h, ticks = .5, curvature = .5, 
         type=1, col = "blue", 
         lwd = 2, xpd = T) 

text(x = (x1+x2)/2, y = (y1+h), "Equivalent to ZERO", font = 2, pos = 3) 
#pos = 3 means the text will be on top of x and y 
+1

実際には1つの問題は、プロットが変更できることを考えると、ブラケットの高さを( 'H')を決定してありますどんな方法で? – rnorouzian

関連する問題