Menu

[r731]: / trunk / htdocs / goals.txt  Maximize  Restore  History

Download this file

348 lines (251 with data), 10.0 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# 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 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>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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>.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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.matlab.html#-imshow">
imshow</a>
*******************
Polar plots
alpha
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.matlab.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>.
*******************
Shared axes
not started
Although it is now possible to have multiple plots share a common
axis, this work would make it easier to create such plots.
*******************
Contour plots
work in progress
*******************
Log histogram
not started
*******************
2-D vector plots
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://poincare.uits.iupui.edu/matplot>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
not started
*******************
Map Projections
some preliminary work
Support standard map projections (e.g., Mercator) as well as allowing
user-defined 2-D coordinate mappings. Jeffrey Whittaker has been
working on a cartographic project module for use with matplotlib. See
<a href=screenshots.html#plotmap>the plotmap demo</a>.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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>.
===========================================================================
GUI Functionality
*******************
Generalized event handling framework
partly 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.matlab.html#-mpl_connect>mpl_connect</a> and <a
href=matplotlib.matlab.html#-mpl_disconnect>mpl_disconnect</a>
methods. See, for example, <a
href=examples/coords_demo.py>coords_demo.py</a>.
*******************
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>.
********************
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
not started
Provide a guide to users as to what parts of matplotlib should
not change and what parts may still change.
============================================================================
User Interface
*******************
Use of Traits package
uncertain
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
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.