[R] plot.window arguments being ignored?

2009-11-08 Thread ARRRRR_user

Hi,
Why, when I run the script below, is my y-axis range command being ignored? 
I.e., the y axis graphed consistently fits the line specified in the plot
command, but never fits the line I'm trying to add in the subsequent line
command.
This is my first R script, so if I'm doing anything else wacky that jumps
out, please let me know.  I'm an advanced Stata user, but R is new to me.
The script is designed to simulate a binary-choice decision field theory
example with internally-controlled stop time, as per Neural Networks 19
(2006) 1047-1058.
Thanks in advance!!
-Dan


#-
# Starting preference state; two choices
preference-c(0,0)
# Preference threshold; when one of the preference states exceeds this
threshhold, deliberation stops
theta- 2
# Contrast matrix
contrast-array(c(1, -1, -1, 1), dim=c(2,2))
# Value Matrix; three possible states of the world
value-array(c(1,0, 0, 1, .5,.5), dim=c(2, 3))
# Feedback Matrix
feedback-array(c(1, .5, .5, 1), dim=c(2,2))

# Time
t- array(0, dim=c(1,1))

# Arrays to keep track of history for graphing
time_for_graph-array(t, dim=c(1,1))
preference_for_graph-array(preference, dim=c(1,2))

# Moving through time until preference crosses the threshold theta
while (preference[1]theta  preference[2]theta) {  

#stochastic weights for this time period
weight-rnorm(3,0,1)

#updating preference
preference-feedback%*%preference + contrast%*%value%*%weight

#updating history
t-t+1
time_for_graph-rbind(time_for_graph, t)
preference_for_graph-rbind(preference_for_graph, array(preference,
dim=c(1,2)))

#updating graph ranges
ry-range(preference_for_graph)
rx-range(time_for_graph)

#updating graph 
plot(time_for_graph[,1], preference_for_graph[,1], type=b,
plot.window(rx, ry), xlab=Time, ylab=Preference)
lines(time_for_graph[,1], preference_for_graph[,2], type=b, col=red,
ylim=ry)
}
#-
-- 
View this message in context: 
http://old.nabble.com/plot.window-arguments-being-ignored--tp26249609p26249609.html
Sent from the R help mailing list archive at Nabble.com.

__
R-help@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.


Re: [R] plot.window arguments being ignored?

2009-11-08 Thread Bryan Hanson
Dan, with base graphics, the plot command determines the ylim, lines can
only add lines/points to an exisiting graph, it cannot modify the existing
ylim.

You have two choices.  1) Before proceeding to the graph, determine which of
the two data sets has the greater range and call plot with that range, then
the subsequent lines command will fit.  2) use a dlfferent graphics
system such as lattice or ggplot2.  In these packages, the entire graph is
computed in the background, then plotted explicitly.  So as you build up the
graph by adding things to it, the routines automatically resize as
necessary.  Both lattice and ggplot2 have books and very nice web sites
where you can find an example like yours.

Bryan
*
Bryan Hanson
Acting Chair
Professor of Chemistry  Biochemistry
DePauw University, Greencastle IN USA



On 11/7/09 6:28 PM, AR_user dweitzenf...@gmail.com wrote:

 
 Hi,
 Why, when I run the script below, is my y-axis range command being ignored?
 I.e., the y axis graphed consistently fits the line specified in the plot
 command, but never fits the line I'm trying to add in the subsequent line
 command.
 This is my first R script, so if I'm doing anything else wacky that jumps
 out, please let me know.  I'm an advanced Stata user, but R is new to me.
 The script is designed to simulate a binary-choice decision field theory
 example with internally-controlled stop time, as per Neural Networks 19
 (2006) 1047-1058.
 Thanks in advance!!
 -Dan
 
 
 #-
 # Starting preference state; two choices
 preference-c(0,0)
 # Preference threshold; when one of the preference states exceeds this
 threshhold, deliberation stops
 theta- 2
 # Contrast matrix
 contrast-array(c(1, -1, -1, 1), dim=c(2,2))
 # Value Matrix; three possible states of the world
 value-array(c(1,0, 0, 1, .5,.5), dim=c(2, 3))
 # Feedback Matrix
 feedback-array(c(1, .5, .5, 1), dim=c(2,2))
 
 # Time
 t- array(0, dim=c(1,1))
 
 # Arrays to keep track of history for graphing
 time_for_graph-array(t, dim=c(1,1))
 preference_for_graph-array(preference, dim=c(1,2))
 
 # Moving through time until preference crosses the threshold theta
 while (preference[1]theta  preference[2]theta) {
 
 #stochastic weights for this time period
 weight-rnorm(3,0,1)
 
 #updating preference
 preference-feedback%*%preference + contrast%*%value%*%weight
 
 #updating history
 t-t+1
 time_for_graph-rbind(time_for_graph, t)
 preference_for_graph-rbind(preference_for_graph, array(preference,
 dim=c(1,2)))
 
 #updating graph ranges
 ry-range(preference_for_graph)
 rx-range(time_for_graph)
 
 #updating graph 
 plot(time_for_graph[,1], preference_for_graph[,1], type=b,
 plot.window(rx, ry), xlab=Time, ylab=Preference)
 lines(time_for_graph[,1], preference_for_graph[,2], type=b, col=red,
 ylim=ry)
 }
 #-

__
R-help@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.


Re: [R] plot.window arguments being ignored?

2009-11-07 Thread Viknesh

Hi Dan,

I think it's because lines() is meant for you to add lines to a plot. Hence
it does not make R redraw the plot. If you wish to set the limits of the
y-axis (or x-axis for that matter), you should do it in the plot function
call, and then call lines() without the ylim=ry part. So your final two
lines could look like this:
  
  plot(time_for_graph[,1], preference_for_graph[,1], type=b, xlim=rx,
ylim= ry, xlab=Time, ylab=Preference) 
  lines(time_for_graph[,1], preference_for_graph[,2], type=b, col=red)

HTH,
Vik
---
Grad Student
Department of Statistics
University of Florida


AR_user wrote:
 
 Hi,
 Why, when I run the script below, is my y-axis range command being
 ignored?  I.e., the y axis graphed consistently fits the line specified in
 the plot command, but never fits the line I'm trying to add in the
 subsequent line command.
 This is my first R script, so if I'm doing anything else wacky that jumps
 out, please let me know.  I'm an advanced Stata user, but R is new to me.
 The script is designed to simulate a binary-choice decision field theory
 example with internally-controlled stop time, as per Neural Networks 19
 (2006) 1047-1058.
 Thanks in advance!!
 -Dan
 
 
 #-
 # Starting preference state; two choices
 preference-c(0,0)
 # Preference threshold; when one of the preference states exceeds this
 threshhold, deliberation stops
 theta- 2
 # Contrast matrix
 contrast-array(c(1, -1, -1, 1), dim=c(2,2))
 # Value Matrix; three possible states of the world
 value-array(c(1,0, 0, 1, .5,.5), dim=c(2, 3))
 # Feedback Matrix
 feedback-array(c(1, .5, .5, 1), dim=c(2,2))
 
 # Time
 t- array(0, dim=c(1,1))
 
 # Arrays to keep track of history for graphing
 time_for_graph-array(t, dim=c(1,1))
 preference_for_graph-array(preference, dim=c(1,2))
 
 # Moving through time until preference crosses the threshold theta
 while (preference[1]theta  preference[2]theta) {  
   
   #stochastic weights for this time period
   weight-rnorm(3,0,1)
   
   #updating preference
   preference-feedback%*%preference + contrast%*%value%*%weight
 
   #updating history
   t-t+1
   time_for_graph-rbind(time_for_graph, t)
   preference_for_graph-rbind(preference_for_graph, array(preference,
 dim=c(1,2)))
 
   #updating graph ranges
   ry-range(preference_for_graph)
   rx-range(time_for_graph)
 
   #updating graph 
   plot(time_for_graph[,1], preference_for_graph[,1], type=b,
 plot.window(rx, ry), xlab=Time, ylab=Preference)
   lines(time_for_graph[,1], preference_for_graph[,2], type=b, col=red,
 ylim=ry)
 }
 #-
 

-- 
View this message in context: 
http://old.nabble.com/plot.window-arguments-being-ignored--tp26249609p26249696.html
Sent from the R help mailing list archive at Nabble.com.

__
R-help@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.