Code Search for Developers
 
 
  

goals.txt from matplotlib at Krugle


Show goals.txt syntax highlighted

# Goals and status This file is processed by convert.py to generate
#the goals web page.  Format is that goal entries in the table follow
#a line that contains only asterisks; first block is the description
#of the goal (should be brief as possible; second block is the
#status--it is recommended that goals recently finished say Done
#(release number with a link to the release notes for that release for
#the details); the third block is for any comments or associated
#information. The blocks are separated by blank lines. Blocks 2 and 3
#are optional.  lines starting with # are ignored.



==========================================================================
Plot Functionality
###################
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Math text
*******************
Support TeX/LaTeX rendering

mostly done

Although matplotlib has it's own mathematical rendering engine of TeX
expressions, it cannpt compete with true TeX rendering.  In <a
href="whats_new.html#0.81-TeX_support">matplotlib-0.81</a>, support
was added for using TeX to render all tex in a figure, with support in
the antigrain and postscript backends.  See <a
href=screenshots.html#tex_demo>tex demo</a> and <a
href=matplotlib.texmanager.html>texmanager</a>.

*******************
Support special symbols

mostly done

Many of the standard TeX symbols are already defined (see <a
href=matplotlib.mathtext.html>mathtext</a>).  The framework for adding
composite symbols is in place, eg \angstrom is defined.  Additional
symbols will be added on as as needed bassis, so speak up!  These
improvements appeared in <a href="whats_new.html#0.54-Enhanced_mathtext">matplotlib-0.54</a>.

*******************
Postscript support

done

Paul Barrett has completed the port of mathtext to postscript.  This
work also includes the support of arbitrary truetype fonts in PS
figures so text appears the same in agg and ps backends.


*******************
SVG support

not started

*******************
Parser fixes

mostly done

Over/under subscripts now work, recursive sub/superscipts are
supported if you do x_i_{j}, note the extra curlys; fixed in <a
href="whats_new.html#0.54-Enhanced_mathtext">matplotlib-0.54</a>

*******************
kerning

not started
*******************
rotation

mostly done

Jim Benson contributed a patch for vertical mathtext for *Agg, which
was ported to backend_gtk.  Paul Barrett provided arbitrary rotation
of mathtext for PS

*******************
sqrt overlines

not started
*******************
add spacing commands

done

added \/ the small space command and \hspace{frac} where frac is a
space determined by a fraction of the point size; added in <a
href="whats_new.html#0.54-Enhanced_mathtext">matplotlib-0.54</a>

*******************
embedded mathtext

not started

Currently a string is all mathtext or None.  To get roman fonts in a
mathtext string you can use \rm.  Ideally, we could embed mathtext
expressions in a regular string, ie, strings like <tt>r"Rate constant
$5\lambda$"</tt>.  Note if you use the text.usetex rc option, then
arbitrary TeX/LaTeX expressions can be used

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Regular text
*******************
Relative font sizes

done

This will allow specification of a font size relative to
an existing font rather than in absolute terms, which will 
make scaling all fonts within a plot simpler.

*******************
Newline separated text and arbitrary rotations

done

Properly aligned newline separated text works across backends.  The
support for arbitrary rotations depends on whether the backend
supports arbitrary rotations (*Agg, PS, GD, Paint do; GTK and WX
support only horizontal and vertical).  Added in <a href="whats_new.html#0.54-Newlines_in_text">matplotlib-0.54</a>.

*******************
International / unicode support

partly done

Unicode support for the *Agg and PS backends was added in <a
href="whats_new.html#0.74-unicode">matplotlib-0.74</a>, and previously
existed in the GTK and WX backends.  This has only been lightly tested
with western fonts, and I expect there will be issues with other fonts
and encodings so please post problems to the users list.  Still to be
done is supporting multiple font files per string and handling unicode
ttf filenames.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Plot types
*******************
Image support

done

AGG support appeared in 
<a href="whats_new.html#0.52-Image_support">
matplotlib-0.52</a>, Postscript image support in 
<a href="whats_new.html#0.53-Ported_image_support_to_numarray_and_postscript_backend">
matplotlib-0.53</a>.
See <a href="matplotlib.pylab.html#-imshow">
imshow</a>
*******************
Polar plots

done

In <a href="whats_new.html#0.64-polar_plots">matplotlib-0.64</a>, a <a
href=matplotlib.axes.html#PolarAxes>PolarAxes</a> class was added to
support plotting in polar coordinates, which is wrapped by the matlab
interface command <a href=matplotlib.pylab.html#-polar>polar</a>
command.  Note you can make other kinds of plots on polar, axes, eg
scatter plots, as shown in <a
href=examples/polar_scatter.py>polar_scatter.py</a>.  See <a
href=screenshots.html#polar_demo>polar screenshot</a>.  Some work
remains to be done on making the navigation toolbar behave sanely wih
polar plots.

******************* 
Shared axes

done

<a href="whats_new.html#0.72-shared_axes">matplotlib-0.72</a> added
the <tt>sharex</tt> and <tt>sharey</tt> keyword args to the <a
href=matplotlib.pylab.html#-axes>axes</a> and <a
href=matplotlib.pylab.html#-subplot>subplot</a> commands.  See <a
href=examples/shared_axis_demo.py>shared_axis_demo.py</a>, <a
href=examples/ganged_plots.py>ganged_plots.py</a>  and <a
href=examples/two_scales.py>two_scales.py</a>.
*******************
Contour plots

mostly done

A <a href=matplotlib.pylab.html#-contour>contour</a> routine was
provided in <a href="whats_new.html#0.65-contour">matplotlib-0.65</a>
.  Work on automatic labeling of contours is underway.  linestyles
added in matplotlib-0.72.1.  polyfilled contours are planned.

******************* 
Log histogram

not started
*******************
General polygon clipping

not started

This will be based on agg's <a
href=http://www.antigrain.com/demo/index.html#PAGE_DEMO_scanline_boolean>scanline
boolean algebra</a>, which does not have the licensing restrictions of
the <a href=http://www.cs.man.ac.uk/aig/staff/alan/software>gpc</a>
algorithms.

*******************
2-D vector plots

mostly done

The <a href=matplotlib.pylab.html#-quiver>quiver</a> command was added
in <a href="whats_new.html#0.74-vector_fields">matplotlib-0.74</a>.
This draws arrows ar position x,y with direction and magnitude given
by dx, dy.  I would like to refactor this a bot to make the arrows
look nicer, and to support other modes of drawing (simple line arrows
rather than polygons, using dot-line instead of arrow), but the basic
functionality is there.

*******************
Gradient polygon fills

not started


*******************
Full dash control

done

You can set a sequence of on-off ink for dashes in addition to the
preset line styles '--' and '-.'.  Added in <a
href=whats_new.html#0.54-Full_dash_control>matplotlib-0.54</a>.  See
<a href=examples/dash_control.py>dash_control.py</a>.

*******************
Generalize date plots

done

Rewrote the date code to require datetime and thus support a wider
range of date intervals.  Version of matplotlib < 0.63 did not require
datetime and only supported epoch dates (seconds since 1972).  <a
href=whats_new.html#0.63-new_dates_handling>matplotlib-0.63</a>, dates
in the range of 0001-9999 are supported.  See the <a
href=tutorial.html#dates>dates tutorial</a>.

*******************
Bezier curves, paths

not started

*******************
3-D visualization

some proof-of-concept work completed

Most likely based on embedding VTK functionality.  Randy Heiland has
done <a href=http://sda.iu.edu/matplot.html>some basic
work</a> to show how to use VTK with offline rendering in combination
with matplotlib imshow to incorporate 3D but much more work is needed.

*******************
Pie Charts

done

Matlab&reg compatible <a href=matplotlib.pylab.html#-pie>pie</a>
command implemented in in <a
href="whats_new.html#0.70-pie_charts">matplotlib-0.70</a> .  See <a
href=screenshots.html#pie_demo>pie screenshot</a>.

*******************
Map Projections

mostly done

Support standard map projections (e.g., Mercator) as well as allowing
user-defined 2-D coordinate mappings. Jeffrey Whittaker has released a
matplotlib toolkit <i>basemap</i>, a cartographic project module for
use with matplotlib.  See <a href=screenshots.html#plotmap>the plotmap
demo</a> for more information.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Axis autoranging and tick customization
*******************
Error bars included in auto ranging

done

Plots often clip error bars; fixed in <a
href="whats_new.html#0.54-Bug_fix_roundup">matplotlib-0.54</a>.

*******************
Detachable axis from main axes box and customizable tickline locations

work beginning

Currently the axis line, the and the tick lines that abut it are fixed
to the edge of the axes rectangular frame.  For some plots, it is nice
to offset this line, eg for the xaxis below the rectqangluar axes
area.  Also, for the ticks, it is nice to be able to place them on the
axis line either centered, with the tick inside the frame, or outside,
Currently, the only supported mode is inside, though there are hacks
to work around this, eg as described in <a
href=http://sourceforge.net/mailarchive/forum.php?thread_id=6348033&forum_id=33405>this
thread</a> from matplotlib-users.  Andrew Straw is looking at this.

===========================================================================
GUI Functionality
*******************
Generalized event handling framework

mostly done

Provide a standard event handling framework that works with all GUI
back-ends. Some basic event handling, GUI neutral, event handling is
implemented with the <a
href=matplotlib.pylab.html#-connect>connect</a> and <a
href=matplotlib.pylab.html#-disconnect>disconnect</a>
methods.  See, for example, <a
href=examples/coords_demo.py>coords_demo.py</a> and <a
href=examples/keypress_demo.py>keypress_demo.py</a>

*******************
Key press event handling

mostly done

<a
href="whats_new.html#0.70-key_events">matplotlib-0.70</a> added
support for connecting to <tt>key_press_event</tt> and
<tt>key_release_event</tt> across backends, illustrated in <a
href=examples/keypress_demo.py>examples/keypress_demo.py</a>.  What
remains to be done is a more sopisticated interface to handle modifier
keys as well, eg <tt>CTRL-X</tt>.

*******************
Cursor read function

95% done

Provide a standard function for reading cursor position from a program
either immeditately or based on a specified event (e.g., keypress or
mouse button).  The example <a
href=examples/coords_demo.py>coords_demo.py</a> shows you how to use
GUI callbacks to get the x and y mouse coordinates in display and data
units with the GTK and Tk backend.  Yet to be added is a blocking
function, like x, y = mouse_press(*args)

********************
Solve mainloop issues

some progress

The ultimate goal is to have matplotlib work across IDEs and standard
python shells.  Fernando Perez helped with an important first step, in
releasing a version of <a href=http://ipython.scipy.org>ipython</a>
that works in interactive mode with all of the matplotlib GUIs.

============================================================================
Performance
*******************
Faster Postscript rendering

done

font caching and other changes have significantly improved postscript
performance; fixed in <a href="whats_new.html#0.54-Font_cacheing">matplotlib-0.54</a>

*******************
Faster point and symbol plots

mostly done

A new transformation class and <a
href=matplotlib.collections.html>collections</a> module have
dramatically improved pcolor and scatter plots.  scatter also supports
a variety of different markers - currently regular polygons but this
will soon be expanded.  For large scatter plots (eg 50,000 markers),
performance is 10x faster in <a
href="whats_new.html#0.54-New_scatter_plots">matplotlib-0.54</a>.
Line2D needs to use collections from drawing markers.

********************
Faster math text

done

Mathtext performance improved 5x in <a
href="whats_new.html#0.62-Faster-mathtext">matplotlib-0.61</a>.
Thanks to Paul Mcguire for fixes both to pyparsing and to the
matplotlib grammar!

============================================================================
Documentation
*******************
Fixed and non-fixed interfaces

in progress

The users guide available on the matplotlib web site is beginning to
document the API.

============================================================================
User Interface
*******************
Use of Traits package

Under investigation

Allows validation of user-supplied plotting parameters
============================================================================
Backends
*******************
Various WX improvements and fixes

mostly done

Jeremy fixed the known wx bugs relating to tooltips and the close
button button not returning the interpreter in <a
href="whats_new.html#0.54-Bug_fix_roundup">matplotlib-0.54</a>.
Jeremy, the author and maintainer of the wx backend, no longer has the
time to fully maintain the wx backend, though he continues to work on
it.  So we are looking for someone to help maintain the wx and wxagg
backends.

*******************
PDF backend

not started
*******************
SVG backend

almost done 

Jared Wahlstrand wrote the SVG backend.  As of <a
href="whats_new.html#0.61-svg_fixes">matplotlib-0.61</a> svg has fast
rendering, good layout, image support and font support.  Remaining is
mathtext for svg.

*******************
Paint clipping problems

very low priority

The problem resides in the underlying libart package (which
sees little maintenance).
*******************
GD color allocation

very low priority




See more files for this project here

matplotlib

Matplotlib is a pure python plotting library with the goal of making\r\npublication quality plots using a syntax familiar to matlab users. \r\nThe library uses Numeric for handling large\r\ndata sets and supports a variety of output backends

Project homepage: http://sourceforge.net/projects/matplotlib
Programming language(s): C,C++,Python
License: other

  examples/
    units/
    widgets/
    __init__.py
    accented_text.py
    agg_oo.py
    agg_resize.py
    agg_test.py
    alignment_test.py
    anim.py
    anim_tk.py
    anscombe.py
    arctest.py
    axes_demo.py
    axes_props.py
    axhspan_demo.py
    backend_driver.py
    bar_stacked.py
    barchart_demo.py
    barh_demo.py
    boxplot_demo.py
    break.py
    color_by_yvalue.py
    color_demo.py
    colours.py
    contour_demo.py
    contour_image.py
    contourf_demo.py
    coords_demo.py
    coords_report.py
    csd_demo.py
    cursor_demo.py
    custom_ticker1.py
    customize_rc.py
    dash_control.py
    dashpointlabel.py
    dashtick.py
    data_helper.py
    date_demo1.py
    date_demo2.py
    date_demo_convert.py
    date_demo_rrule.py
    dynamic_demo.py
    dynamic_demo_wx.py
    dynamic_image_gtkagg.py
    dynamic_image_wxagg.py
    dynamic_image_wxagg2.py
    embedding_in_gtk.py
    embedding_in_gtk2.py
    embedding_in_gtk3.py
    embedding_in_qt.py
    embedding_in_tk.py
    embedding_in_tk2.py
    embedding_in_wx.py
    embedding_in_wx2.py
    embedding_in_wx3.py
    embedding_in_wx4.py
    errorbar_demo.py
    figimage_demo.py
    figlegend_demo.py
    figtext.py
    fill_between.py
    fill_between_posneg.py
    fill_demo.py
    fill_demo2.py
    fill_spiral.py
    finance_demo.py
    font_indexing.py
    font_table_ttf.py
    fonts_demo.py
    fonts_demo_kw.py
    ftface_props.py
    ganged_plots.py
    gdtest.py
    glyph_to_path.py
    gtk_spreadsheet.py
    histogram_demo.py
    histogram_demo_canvasagg.py
    image_demo.py
    image_demo2.py
    image_demo3.py
    image_demo_na.py
    image_interp.py
  gd/
  screenshots/
  tut/
  API_CHANGES
  CHANGELOG
  INSTALL
  NUMARRAY_ISSUES
  README
  __init__.py
  api.pdf
  backends.html.template
  classdocs.html.template
  convert.py
  credits.html.template
  exclude.txt
  faq.html.template
  fonts.html.template
  footer.html.template
  goals.html.template
  goals.txt
  header.html.template
  hthelpers.py
  index.html.template
  installing.html.template
  interactive.html.template
  leftwich_tut.txt
  license.fmt
  license.html.template
  make.py
  matlab_to_pylab.py
  matplotlib.afm.html.template
  matplotlib.artist.html.template
  matplotlib.axes.html.template
  matplotlib.axis.html.template
  matplotlib.backend_bases.html.template
  matplotlib.backends.backend_agg.html.template
  matplotlib.backends.backend_cairo.html.template
  matplotlib.backends.backend_fltkagg.html.template
  matplotlib.backends.backend_gd.html.template
  matplotlib.backends.backend_gtk.html.template
  matplotlib.backends.backend_gtkagg.html.template
  matplotlib.backends.backend_gtkcairo.html.template
  matplotlib.backends.backend_gtkgd.html.template
  matplotlib.backends.backend_paint.html.template
  matplotlib.backends.backend_ps.html.template
  matplotlib.backends.backend_qt.html.template
  matplotlib.backends.backend_qtagg.html.template
  matplotlib.backends.backend_svg.html.template
  matplotlib.backends.backend_template.html.template
  matplotlib.backends.backend_tkagg.html.template
  matplotlib.backends.backend_wx.html.template
  matplotlib.backends.backend_wxagg.html.template
  matplotlib.cbook.html.template
  matplotlib.cm.html.template
  matplotlib.collections.html.template
  matplotlib.colors.html.template
  matplotlib.dates.html.template
  matplotlib.figure.html.template
  matplotlib.finance.html.template
  matplotlib.font_manager.html.template
  matplotlib.ft2font.html.template
  matplotlib.image.html.template
  matplotlib.legend.html.template
  matplotlib.lines.html.template
  matplotlib.mathtext.html
  matplotlib.mathtext.html.template
  matplotlib.mlab.html.template
  matplotlib.numerix.html.template
  matplotlib.patches.html.template
  matplotlib.pylab.html.template
  matplotlib.table.html.template
  matplotlib.texmanager.html.template
  matplotlib.text.html.template
  matplotlib.ticker.html.template
  matplotlib.toolkits.basemap.basemap.html.template
  matplotlib.toolkits.basemap.html.template
  matplotlib.transforms.html.template
  matplotlib.widgets.html.template
  matplotlibrc
  process_docs.py
  pylab_commands.html.template
  screenshots.html.template
  set_begone.py
  toolkits.html.template
  tutorial.html.template
  whats_new.html.template
  whats_new_text.py
  win32_static.tar.gz
  yaptu.py