On 24/07/2013 10:06 AM, [email protected] wrote:
Dear R users,
I want to plot a one variable continuous function f(x) vs x, x=[0,1]. Say
for example: f(x)= x^2. Now, using the command plot(f~x) I will get a
curve where the range of x-axis is [0,1] with all equispaced label. But, I
need something else, and that is: my curve will be such that 80% on x-axis
the range would be [0,0.5] and the rest 20% would contain [0.5,1]. Let me
draw informally here. Say, the line below is my x-axis in graph and my
plotting points are like:
________________________________________
0 0.01 0.1 0.5 1
Any help or suggestion will be highly appreciable.
Construct a function pos(x) that takes the x values and converts them
into the position on the axis that you want. For example,
pos <- function(x) log(x + 0.001)
plot(pos(x), y, xaxt="n")
will plot the transformed values, with no x axis labels. To get the
labels, use
xvals <- c(0, 0.01, 0.1, 0.5, 1) # or whatever makes sense
axis(1, at=pos(xvals), labels=xvals)
Duncan Murdoch
______________________________________________
[email protected] 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.