[R] scaling with relative units in plots or retrieving axes limits in plots

Jannis bt_jannis at yahoo.de
Tue May 18 16:50:24 CEST 2010


Thanks for the replies! If anybody  encounters a similar problem, the function that now does what I wanted is attached below.


Best
Jannis



trnsf.coords = function(array_x,array_y)

# This function transfers relative coordinates between 0 and 1 for two arrays with x
# and y values into the coordinate system of the current plot.
    
{
    plot_extremes=par()$usr
    x_min=plot_extremes[1]
    x_max=plot_extremes[2]
    y_min=plot_extremes[3]
    y_max=plot_extremes[4]

    x_trans=x_min+(array_x*x_max-x_min)
    y_trans=y_min+(array_y*y_max-y_min)
    output=list(x=x_trans,y=y_trans)
    return(output)

}

--- Jannis <bt_jannis at yahoo.de> schrieb am Di, 18.5.2010:

> Von: Jannis <bt_jannis at yahoo.de>
> Betreff: [R] scaling with relative units in plots or retrieving axes limits in plots
> An: r-help at stat.math.ethz.ch
> Datum: Dienstag, 18. Mai, 2010 14:23 Uhr
> Dears,
> 
> 
> a way to define x and y positions in plots in relative
> numbers (e.g in fractions  between 0 and 1 referring to
> relative positions inside the plot region) would really help
> me. One example I would need this to would be to add text
> via text() to a plot always at a defined spot, e.g the upper
> left corner. Until now I always determined maximum x and y
> values and used those, but defining relative positions
> straight away would be much easier. Possible solutions:
> 
> 1. Predefined function
> Is there anything available that lets me run (for
> example):
> 
> text(0.5,0.5,'middle')
> 
> which always puts text on these relative points?
> 
> 
> 
> 2. Create my own function
> It would be straightforward to create my own function that
> translates the relative number to the axes values in the
> actual plot, so that 
> 
> text(my.function(0.5,0.5),'middle')
> 
> would do what I want. For this I would need to be able to
> somehow retrieve the axis limits for x and y axes. Is there
> any way I could do this after having called plot()?
> 
> 
> 
> Thanks for your help!
> 
> 
> Jannis
> 
> 
> 
> 
> ______________________________________________
> R-help at r-project.org
> 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.
> 





More information about the R-help mailing list