:orphan:

xscale
******

Specifies the scale on the x-axis in plotting commands. 

See also :doc:`xscale_match`

Syntax
------

::

  xscale = all
  xscale = e1
  xscale = b1
  xscale = e1 -> b1 -> e2 -> b2 -> ...
  xscale = b1 -> e1 -> b2 -> e2 -> ...

where each ``ei`` is a stimulus element name (as specified in the parameter ``stimulus_element``) and
each ``bi`` is a behavior name (as specified in the parameter ``behaviors``).

Default
-------

``all``

Description
-----------

``xscale = all``

The value ``all`` is interpreted differently for different plot commands:

* :ref:`nplot` is well-defined at each stimulus and each behavior in the simulation sequence, as it can count both stimuli and behaviors.
  Therefore the x-axis for :ref:`nplot` will represent each stimulus and each response. In other words:

  * :math:`x=0` represents the first stimulus
  * :math:`x=1` represents the response to the first stimulus
  * :math:`x=2` represents the second stimulus
  * :math:`x=3` represents the response to the second stimulus
  * etc.

* The other plot commands (:ref:`vplot`, :ref:`vssplot`, :ref:`wplot`, :ref:`pplot`) will plot the quantity in question at each point
  when the subject's state variables (v and w) are updated, which is after every triple::

    stimulus -> response -> stimulus

  in the simulation sequence.

----

``xscale = e1``

(where ``e1`` is a stimulus element) plots the value of the variable in question only at the points in the stimulus-response sequence where the stimulus is ``e1``.

----

``xscale = b1``

(where ``b1`` is a behavior) plots the value of the variable in question only at the points in the stimulus-response sequence where the response is the behavior ``e1``.

----

``xscale = e1 -> b1 -> e2 -> b2 -> ...``

(where ``e1`` is a stimulus element and b1 a behavior) plots the value of the variable in question only at the points in the stimulus-response sequence where the stimulus is e1 followed by the behavior b1 followed by the stimulus e2, and so on.

----

``xscale = b1 -> e1 -> b2 -> e2 -> ...``

(where ``e1`` is a stimulus element and b1 a behavior) plots the value of the variable in question only at the points in the stimulus-response sequence where the behavior is b1 followed by the stimulus e1 followed by the behavior b2, and so on.


.. note::

  If ``cumulative`` is ``off`` and ``xscale`` is not ``all``, :math:`x=0` is omitted in the plot.

Example
-------

::

  xscale = all
  @wplot e1

will plot the w-value of ``e1`` at each stimulus and each behavior in the stimulus-response simulation sequence.


Example
-------

::

  xscale = lever
  @wplot e1

will plot the w-value of ``e1`` at the points where the stimulus is ``lever``.


Example
-------

::

  xscale = lever->pull_lever
  @wplot e1

will plot the w-value of ``e1`` at the points where the stimulus is ``lever`` and the response to ``lever`` was ``pull_lever``.
