Try this for now (a combination of my previous answer and the example from the 
tkrplot help page):
 
library(tkrplot)

library(TeachingDemos)

tkcurve <- function(expr, from, to, ...){

tt <- tktoplevel()

myx <- from

myfun <- function(){

curve(expr, from, to, ...)

tmp1 <- cnvrt.coords(0,0, input='plt')$usr

tmp2 <- cnvrt.coords(-0.05, -0.05, input='plt')$usr

myy <- expr(myx)

lines( c(myx,myx,tmp1$x), c(tmp1$y, myy, myy), col='green')

par(xpd=TRUE)

text( c(myx, tmp2$x), c(tmp2$y, myy), round( c(myx,myy),2 ), 

col='red')

}

img <- tkrplot( tt, myfun, hscale=1.5, vscale=1.5 )

f <- function(...) {

myxx <- as.numeric(tclvalue("myx"))

if (myx != myxx){

myx <<- myxx

tkrreplot(img)

}

}

s <- tkscale(tt, command=f, from=from, to=to, variable='myx',

showvalue=TRUE, resolution=signif( (to-from)/100, 1 ), 

orient="horiz")

tkpack(img,s)

}

tkcurve( function(x) sqrt(x), 0.5, 10 )

tkcurve( function(x) sin(x)*x, -2*pi, 4*pi )


________________________________

From: [EMAIL PROTECTED] on behalf of Ron Michael
Sent: Fri 4/20/2007 12:03 AM
To: r-help@stat.math.ethz.ch
Cc: Greg Snow
Subject: Re: [R] Problem with ?curve



Dear all R users,

Thank you Greg for having time in my problem. Your suggestion is working pretty 
fine for my problem. But here I am involved for some teaching assignments in a 
local school. If at least I could use sliders for changing values, it would be 
very fine.

Have anyone any suggestion?

Thanks and regards,


----- Original Message ----
From: Greg Snow <[EMAIL PROTECTED]>
To: Ron Michael <[EMAIL PROTECTED]>; r-help@stat.math.ethz.ch
Sent: Thursday, April 19, 2007 11:03:43 PM
Subject: RE: [R] Problem with ?curve


Something along these lines is on my todo list for the TeachingDemos
package, so any thoughts on what you want the user interface to be would
be helpful (do you want sliders to set the x-value? Do you want to click
on the plot to see an update?  Or just moving the mouse over the plot
without clicking would update the line?).

If you don't mind clicking on the plot, here is a quick example of what
you could do (put in your own function and numbers):

library(TeachingDemos)

myfun <- function(x)  sqrt(x)

curve( myfun, 0, 10 )

tmp <- cnvrt.coords(0,0, input='plt')$usr
tmp2 <- cnvrt.coords(-0.05, -0.05, input='plt')$usr

par(xpd=TRUE)

while( length(myx <- locator(1)$x) ){
    myy <- myfun(myx)
    curve( myfun, 0, 10 )
    lines( c(myx,myx,tmp$x), c(tmp$y, myy, myy), col='green' )
    text( c( myx, tmp2$x ), c(tmp2$y, myy), round(c( myx, myy ), 2),
col='red')
}


If you run the above code it will create the plot, then wait for you to
click on the plot, when you click it will draw the lines corresponding
to the x location of your click and put labels in the margins, clicking
again will move the lines and update the labels.  Right click and select
'stop' when you are through.

Hope this helps,


--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
(801) 408-8111



> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Ron Michael
> Sent: Thursday, April 19, 2007 1:16 AM
> To: r-help@stat.math.ethz.ch
> Subject: Re: [R] Problem with ?curve
>
> Dear all R users,
> 
> Thank you Gabor, and Mark for spending some times on my
> problem. But I want to move little bit further. I want to
> show some basic features interactively. I want to move my
> mouse pointer through the X axis. In graphics window I want
> to show that, for a particular position of pointer in X-axis,
> there will be a vertical straightline from that position,
> which will cull the curve at a point, and from this point
> another horizontal straight line will be there, which will
> cut to Y-axis at a particular point. And upon moving my
> pointer along X-axis, that mapping-point in Y-axis will also
> move along y-axis accordingly. I also want to mark the
> position of X-axis point and Y-axis point interactively.
> 
> I know there is a package "TeachingDemos" for creating this
> type of interactive picture. But I really dont know how to
> apply this in my problem.
> 
> Can anyone give me any suggestion? Your help will be highly
> appreciated.
> 
> Thanks and regards,
>
>
> ----- Original Message ----
> From: Gabor Grothendieck <[EMAIL PROTECTED]>
> To: Ron Michael <[EMAIL PROTECTED]>
> Cc: r-help@stat.math.ethz.ch
> Sent: Wednesday, April 18, 2007 10:08:32 PM
> Subject: Re: [R] Problem with ?curve
>
>
> Your chipply function is not vectorized. See ?curve and try:
>
> curve(Vectorize(chippy)(x), 1, 20, n=200)
>
>
> On 4/18/07, Ron Michael <[EMAIL PROTECTED]> wrote:
> >
> > Dear all R gurus,
> >
> >
> >
> > I have following syntax:
> >
> >
> >
> > y = c(1:10)
> > chippy <- function(x)
> >        {
> >         y[5] = x
> >         sin(cos(t(y)%*%y)*exp(-t(y)%*%y/2))
> >        }
> > curve(chippy, 1, 20, n=200)
> >
> >
> >
> > But I am getting error while executing :
> >
> >
> >
> > Error in xy.coords(x, y, xlabel, ylabel, log) :
> >        'x' and 'y' lengths differ
> > In addition: Warning message:
> > number of items to replace is not a multiple of replacement length
> >
> >
> > Can anyone tell me how I can recover?
> >
> >
> >
> > Thanks
> >
> > Ron
> >
> >
> >
> >
> >
> >
> >
> >
> > Send instant messages to your online friends
> http://uk.messenger.yahoo.com
> >        [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> > http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
> Send instant messages to your online friends
> http://uk.messenger.yahoo.com
>     [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

Send instant messages to your online friends http://uk.messenger.yahoo.com
        [[alternative HTML version deleted]]

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



        [[alternative HTML version deleted]]

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to