ó
mÜJ]c           @` sC  d  Z  d d l m Z m Z m Z m Z d d l Z e j e ƒ Z	 d d l
 m Z d d l m Z d d l m Z m Z m Z m Z m Z m Z m Z d d l m Z m Z d	 d
 l m Z d> Z e d e f d „  ƒ  Yƒ Z d e f d „  ƒ  YZ d  e f d! „  ƒ  YZ d" e f d# „  ƒ  YZ d$ e f d% „  ƒ  YZ  d& e f d' „  ƒ  YZ! d( e f d) „  ƒ  YZ" d* e f d+ „  ƒ  YZ# d, e f d- „  ƒ  YZ$ d. e f d/ „  ƒ  YZ% d0 e f d1 „  ƒ  YZ& d2 e f d3 „  ƒ  YZ' d4 e f d5 „  ƒ  YZ( d6 e f d7 „  ƒ  YZ) d8 e f d9 „  ƒ  YZ* d: e f d; „  ƒ  YZ+ d< e f d= „  ƒ  YZ, d S(?   uà   Display a variety of simple scatter marker shapes whose attributes
can be associated with data columns from ``ColumnDataSources``.

The full list of markers built into Bokeh is given below:

* :class:`~bokeh.models.markers.Asterisk`
* :class:`~bokeh.models.markers.Circle`
* :class:`~bokeh.models.markers.CircleCross`
* :class:`~bokeh.models.markers.CircleX`
* :class:`~bokeh.models.markers.Cross`
* :class:`~bokeh.models.markers.Dash`
* :class:`~bokeh.models.markers.Diamond`
* :class:`~bokeh.models.markers.DiamondCross`
* :class:`~bokeh.models.markers.Hex`
* :class:`~bokeh.models.markers.InvertedTriangle`
* :class:`~bokeh.models.markers.Square`
* :class:`~bokeh.models.markers.SquareCross`
* :class:`~bokeh.models.markers.SquareX`
* :class:`~bokeh.models.markers.Triangle`
* :class:`~bokeh.models.markers.X`

Markers are all subclasses of ``Glyph``. Additionally, they all share the
same common interface providing fill and line properties provided by their
base class ``Marker``. Note that a few glyphs, ``Cross`` and ``X``, only
draw lines. For these the fill property values are ignored. Also note that
the ``Circle`` glyph has some additional properties such as ``radius`` that
other markers do not.

.. autoclass:: Marker
    :members:

i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsNi   (   t   enumeration(   t   abstract(   t	   AngleSpect   DistanceSpect   Enumt   Includet
   MarkerSpect
   NumberSpect   ScreenDistanceSpec(   t	   FillPropst	   LinePropsi   (   t   XYGlyphu   Asterisku   Circleu   CircleCrossu   CircleXu   Crossu   Dashu   Diamondu   DiamondCrossu   Hexu   InvertedTriangleu   Markeru   Scatteru   Squareu   SquareCrossu   SquareXu   Triangleu   Xt   Markerc           B` sŒ   e  Z d  Z d Z e d d ƒ Z e d d ƒ Z e d d	 d d
 ƒ Z e	 d d d d ƒ Z
 e e d e d d ƒZ e e d e d d ƒZ RS(   u€   Base class for glyphs that are simple markers with line and
    fill properties, located at an (x, y) location with a specified
    size.

    .. note::
        For simplicity, all markers have both line and fill properties
        declared, however some markers (`Asterisk`, `Cross`, `X`) only
        draw lines. For these markers, the fill values are simply
        ignored.

    u   xu   yu   sizeu   anglet   helpu?   
    The x-axis coordinates for the center of the markers.
    u?   
    The y-axis coordinates for the center of the markers.
    t   defaulti   uK   
    The size (diameter) values for the markers in screen space units.
    g        u+   
    The angles to rotate the markers.
    t
   use_prefixu(   
    The %s values for the markers.
    (   u   xu   yu   sizeu   angle(   t   __name__t
   __module__t   __doc__t   _argsR   t   xt   yR   t   sizeR   t   angleR	   R   t   Falset
   line_propsR   t
   fill_props(    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR   \   s   					t   Scatterc           B` s/   e  Z d  Z d Z e d d d d	 ƒ Z d
 Z RS(   uò   Render arbitrary markers according a specification.

    The Scatter can draw any built-in marker type. It can be configured
    to draw the same marker for all values by specifying the name of a
    marker, e.g.

    .. code-block:: python

        glyph = Scatter(x="x", y="y", size="sizes", marker="square")
        plot.add_glyph(source, glyph)

    will render only Square markers for all points. Alternatively, the
    Scatter marker can be configured to use marker types specified in a
    data source column:

    .. code-block:: python

        # source.data['markers'] = ["circle", "square", "circle", ... ]

        glyph = Scatter(x="x", y="y", size="sizes", marker="markers")
        plot.add_glyph(source, glyph)

    Note that circles drawn with `Scatter` conform to the standard Marker
    interface, and can only vary by size (in screen units) and *not* by radius
    (in data units). If you need to control circles by radius in data units,
    you should use the Circle glyph directly.

    u   xu   yu   sizeu   angleu   markerR   u   circleR   u˜   
    Which marker to render. This can be the name of any built in marker,
    e.g. "circle", or a reference to a data column containing such names.
    u$   examples/reference/models/Scatter.py(   u   xu   yu   sizeu   angleu   marker(   R   R   R   R   R
   t   markert   __example__(    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR   †   s
   	t   Asteriskc           B` s   e  Z d  Z d Z RS(   u    Render asterisk '*' markers. u%   examples/reference/models/Asterisk.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR"   ®   s   t   Circlec           B` sM   e  Z d  Z d Z d	 Z e d
 d d ƒZ e e	 d d d d ƒ d d ƒZ
 RS(   u    Render circle markers. u#   examples/reference/models/Circle.pyu   xu   yR   u  
    The radius values for circle markers (in "data space" units, by default).

    .. note::
        Circle markers are slightly unusual in that they support specifying
        a radius in addition to a size. Only one of ``radius`` or ``size``
        should be given.

    .. warning::
        Note that ``Circle`` glyphs are always drawn as circles on the screen,
        even in cases where the data space aspect ratio is not 1-1. In all
        cases where radius values are specified, the "distance" for the radius
        is measured along the dimension specified by ``radius_dimension``. If
        the aspect ratio is very large or small, the drawn circles may appear
        much larger or smaller than expected. See :bokeh-issue:`626` for more
        information.

    u   maxu   minu²  
    What dimension to measure circle radii along.

    When the data space aspect ratio is not 1-1, then the size of the drawn
    circles depends on what direction is used to measure the "distance" of
    the radius. This property allows that direction to be controlled.

    Setting this dimension to 'max' will calculate the radius on both the x
    and y dimensions and use the maximum of the two, 'min' selects the minimum.
    (   u   xu   yN(   R   R   R   R!   R   R   t   Nonet   radiusR   R   t   radius_dimension(    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR#   ´   s   			t   CircleCrossc           B` s   e  Z d  Z d Z RS(   u<    Render circle markers with a '+' cross through the center. u(   examples/reference/models/CircleCross.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR'   Û   s   t   CircleXc           B` s   e  Z d  Z d Z RS(   u=    Render circle markers with an 'X' cross through the center. u$   examples/reference/models/CircleX.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR(   à   s   t   Crossc           B` s   e  Z d  Z d Z RS(   u    Render '+' cross markers. u"   examples/reference/models/Cross.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR)   å   s   t   Dashc           B` s   e  Z d  Z d Z RS(   ub    Render dash markers. Use ``angle`` to rotate and create vertically
    oriented short lines.
    u!   examples/reference/models/Dash.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR*   ê   s   t   Diamondc           B` s   e  Z d  Z d Z RS(   u    Render diamond markers. u$   examples/reference/models/Diamond.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR+   ñ   s   t   DiamondCrossc           B` s   e  Z d  Z d Z RS(   u=    Render diamond markers with a '+' cross through the center. u)   examples/reference/models/DiamondCross.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR,   ö   s   t   Hexc           B` s   e  Z d  Z d Z RS(   u    Render hexagon markers. u    examples/reference/models/Hex.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR-   û   s   t   InvertedTrianglec           B` s   e  Z d  Z d Z RS(   u&    Render upside-down triangle markers. u-   examples/reference/models/InvertedTriangle.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR.      s   t   Squarec           B` s   e  Z d  Z d Z RS(   u-    Render a square marker, optionally rotated. u#   examples/reference/models/Square.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR/     s   t   SquareCrossc           B` s   e  Z d  Z d Z RS(   u<    Render square markers with a '+' cross through the center. u(   examples/reference/models/SquareCross.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR0   
  s   t   SquareXc           B` s   e  Z d  Z d Z RS(   u=    Render square markers with an 'X' cross through the center. u$   examples/reference/models/SquareX.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR1     s   t   Trianglec           B` s   e  Z d  Z d Z RS(   u    Render triangle markers. u%   examples/reference/models/Triangle.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR2     s   t   Xc           B` s   e  Z d  Z d Z RS(   u    Render a 'X' cross markers. u   examples/reference/models/X.py(   R   R   R   R!   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyR3     s   (   u   Asterisku   Circleu   CircleCrossu   CircleXu   Crossu   Dashu   Diamondu   DiamondCrossu   Hexu   InvertedTriangleu   Markeru   Scatteru   Squareu   SquareCrossu   SquareXu   Triangleu   X(-   R   t
   __future__R    R   R   R   t   loggingt	   getLoggerR   t   logt
   core.enumsR   t   core.has_propsR   t   core.propertiesR   R   R   R	   R
   R   R   t   core.property_mixinsR   R   t   glyphsR   t   __all__R   R   R"   R#   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   (    (    (    s3   lib/python2.7/site-packages/bokeh/models/markers.pyt   <module>&   sV   "4                )('