Sophie

Sophie

distrib > Mandriva > current > i586 > by-pkgid > ae0a4f27f26602dc31c3bf35e18b5b19 > files > 760

python-enthought-chaco-3.4.0-2mdv2010.2.i586.rpm




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Frequently Asked Questions &mdash; Chaco v3.4.0 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '3.4.0',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <link rel="shortcut icon" href="../_static/et.ico"/>
    <link rel="top" title="Chaco v3.4.0 documentation" href="../index.html" />
    <link rel="up" title="User Manual" href="index.html" />
    <link rel="next" title="Annotated Examples" href="annotated_examples.html" />
    <link rel="prev" title="How Do I...?" href="how_do_i.html" /> 
  </head>
  <body>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="annotated_examples.html" title="Annotated Examples"
             accesskey="N">next</a></li>
        <li class="right" >
          <a href="how_do_i.html" title="How Do I...?"
             accesskey="P">previous</a> |</li>
        <li><a href="../index.html">Chaco v3.4.0 documentation</a> &raquo;</li>
          <li><a href="index.html" accesskey="U">User Manual</a> &raquo;</li>
  
    <li><a href="#">Frequently Asked Questions</a></li>
  

      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="frequently-asked-questions">
<h1>Frequently Asked Questions<a class="headerlink" href="#frequently-asked-questions" title="Permalink to this headline">¶</a></h1>
<div class="section" id="where-does-the-name-chaco-come-from">
<h2>Where does the name &#8220;Chaco&#8221; come from?<a class="headerlink" href="#where-does-the-name-chaco-come-from" title="Permalink to this headline">¶</a></h2>
<p>It is named after <a class="reference external" href="http://www.nps.gov/chcu/">Chaco Canyon</a>, which had
astronomical markings that served as an observatory for Native Americans. The
original version of Chaco was built as part of a project for the <a class="reference external" href="http://www.stsci.edu/resources/">Space
Telescope Science Institute</a>. This is also
the origin of the name &#8220;Kiva&#8221; for our vector graphics layer that Chaco uses for
rendering.</p>
</div>
<div class="section" id="why-was-chaco-named-chaco2-for-a-while">
<h2>Why was Chaco named &#8220;Chaco2&#8221; for a while?<a class="headerlink" href="#why-was-chaco-named-chaco2-for-a-while" title="Permalink to this headline">¶</a></h2>
<p>Starting in January of 2006, we refactored and reimplemented much of the core
Chaco API. The effort has been named &#8220;chaco2&#8221;, and lives in the
<tt class="xref py py-mod docutils literal"><span class="pre">enthought.chaco2</span></tt> namespace. During that time, the original Chaco package
(&#8220;Chaco Classic&#8221;) was in maintenance-only mode, but there was still code that
needed features from both Chaco Classic and Chaco2.  That code has finally been
either shelved or refactored, and the latest versions of Chaco (3.0 and up) are
back to residing in the <tt class="xref py py-mod docutils literal"><span class="pre">enthought.chaco</span></tt> namespace.  We still have
compatibility modules in <tt class="xref py py-mod docutils literal"><span class="pre">enthought.chaco2</span></tt>, but they just proxy for the
real code in <tt class="xref py py-mod docutils literal"><span class="pre">enthought.chaco</span></tt>.</p>
<p>The same applies to the <tt class="xref py py-mod docutils literal"><span class="pre">enthought.enable</span></tt> and <tt class="xref py py-mod docutils literal"><span class="pre">enthought.enable2</span></tt>
packages.</p>
</div>
<div class="section" id="what-are-the-pros-and-cons-of-chaco-vs-matplotlib">
<h2>What are the pros and cons of Chaco vs. matplotlib?<a class="headerlink" href="#what-are-the-pros-and-cons-of-chaco-vs-matplotlib" title="Permalink to this headline">¶</a></h2>
<p>This question comes up quite a bit.  The bottom line is that the two projects
initially set out to do different things, and although each project has grown a
lot of overlapping features, the different original charters are reflected in
the capabilities and feature sets of the two projects.</p>
<p>Here is an <a class="reference external" href="https://mail.enthought.com/pipermail/enthought-dev/2007-May/005363.html">excerpt from a thread about this question</a> on
the enthought-dev mailing list.</p>
<p>Gael Varoquaux&#8217;s response:</p>
<div class="highlight-python"><pre>On Fri, May 11, 2007 at 10:03:21PM +0900, Bill Baxter wrote:

&gt; Just curious.  What are the pros and cons of chaco vs matplotlib?

To me it seem the big pro of chaco is that it is much easier to use in a
"programatic way" (I have no clue this means something in English). It is
fully traited and rely quite a lot on inversion of control (sorry, I love
this concept, so it has become my new buzz-word). You can make very nice
object oriented interactive code.

Another nice aspect is that it is much faster than MPL.

The cons are that it is not as fully featured as MPL, that it does not
has an as nice interactively useable functional interface (ie chaco.shell
vs pylab) and that it is not as well documented and does not have the
same huge community.

I would say that the codebase of chaco is nicer, but than if you are not
developping interactive application, it is MPL is currently an option
that is lickely to get you where you want to go quicker. Not that I
wouldn't like to see chaco building up a bit more and becoming **the** reference.

Developers, if you want chaco to pick up momentum, give it a pylab-like
interface (as close as you can to pylab) !

My 2 cents,
Gael</pre>
</div>
<p>Peter Wang&#8217;s response (excerpt):</p>
<div class="highlight-python"><pre>    On May 11, 2007, at 8:03 AM, Bill Baxter wrote:

&gt; Just curious.  What are the pros and cons of chaco vs matplotlib?

You had to go and ask, didn't you? :)  There are many more folks here
who have used MPL more extensively than myself, so I'll defer the
comparisons to them.  (Gael, as always, thanks for your comments and
feedback!)  I can comment, however, on the key goals of Chaco.

Chaco is a plotting toolkit targeted towards developers for building
interactive visualizations.  You hook up pieces to build a plot that
is then easy to inspect, interact with, add configuration UIs for
(using Traits UI), etc.  The layout of plot areas, the multiplicity
and types of renderers within those windows, the appearance and
locations of axes, etc. are all completely configurable since these
are all first-class objects participating in a visual canvas.  They
can all receive mouse and keyboard events, and it's easy to subclass
them (or attach tools to them) to achieve new kinds of behavior.
We've tried to make all the plot renderers adhere to a standard
interface, so that tools and interactors can easily inspect data and
map between screen space and data space.  Once these are all hooked
up, you can swap out or update the data independently of the plots.

One of the downsides we had a for a while was that this rich set of
objects required the programmer to put several different classes
together just to make a basic plot.  To solve this problem, we've
assembled some higher-level classes that have the most common
behaviors built-in by default, but which can still be easily
customized or extended.  It's clear to me that this is a good general
approach to preserving flexibility while reducing verbosity.

At this point, Chaco is definitely capable of handling a large number
of different plotting tasks, and a lot of them don't require too much
typing or hacking skills.  (Folks will probably require more
documentation, however, but I'm working on that. :)  I linked to the
source for all of the screenshots in the gallery to demonstrate that
you can do a lot of things with Chaco in a few dozen lines of code.
(For instance, the audio spectrogram at the bottom of the gallery is
just a little over 100 lines.)

Fundamentally, I like the Chaco model of plots as compositions of
interactive components.  This really helps me think about
visualization apps in a modular way, and it "fits my head".  (Of
course, the fact that I wrote much of it might have something to do
with that as well. ;)  The goal is to have data-related operations
clearly happen in one set of objects, the view layout and
configuration happen in another, and the interaction controls fit
neatly into a third.  IMHO a good toolkit should help me design/
architect my application better, and we definitely aspire to make
Chaco meet that criterion.

Finally, one major perk is that since Chaco is built completely on
top of traits and its event-based component model, you can call
edit_traits() on any visual component from within your app (or
ipython) and get a live GUI that lets you tweak all of its various
parameters in realtime.  This applies to the axis, grid, renderers,
etc.  This seems so natural to me that I sometimes forget what an
awesome feature it is. :)</pre>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
            <p class="logo"><a href="../index.html">
              <img class="logo" src="../_static/e-logo-rev.png" alt="Logo"/>
            </a></p>
<h3>Page Contents</h3>
<ul>
<li><a class="reference internal" href="#">Frequently Asked Questions</a><ul>
<li><a class="reference internal" href="#where-does-the-name-chaco-come-from">Where does the name &#8220;Chaco&#8221; come from?</a></li>
<li><a class="reference internal" href="#why-was-chaco-named-chaco2-for-a-while">Why was Chaco named &#8220;Chaco2&#8221; for a while?</a></li>
<li><a class="reference internal" href="#what-are-the-pros-and-cons-of-chaco-vs-matplotlib">What are the pros and cons of Chaco vs. matplotlib?</a></li>
</ul>
</li>
</ul>

  <h3>This Page</h3>
  <ul class="this-page-menu">
    <li><a href="../_sources/user_manual/faq.txt"
           rel="nofollow">Show Source</a></li>
  </ul>
<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" size="18" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="annotated_examples.html" title="Annotated Examples"
             >next</a></li>
        <li class="right" >
          <a href="how_do_i.html" title="How Do I...?"
             >previous</a> |</li>
        <li><a href="../index.html">Chaco v3.4.0 documentation</a> &raquo;</li>
          <li><a href="index.html" >User Manual</a> &raquo;</li>
  
    <li><a href="#">Frequently Asked Questions</a></li>
  

      </ul>
    </div>
    <div class="footer">
        &copy; Copyright 2008, Enthought, Inc..
      Last updated on Mar 02, 2011.
      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
    </div>
  </body>
</html>