|
| 1 | +.. _whats-new-0-98-4: |
| 2 | + |
| 3 | +New in matplotlib 0.98.4 |
| 4 | +======================== |
| 5 | + |
| 6 | +.. contents:: Table of Contents |
| 7 | + :depth: 2 |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +It's been four months since the last matplotlib release, and there are |
| 12 | +a lot of new features and bug-fixes. |
| 13 | + |
| 14 | +Thanks to Charlie Moad for testing and preparing the source release, |
| 15 | +including binaries for OS X and Windows for python 2.4 and 2.5 (2.6 |
| 16 | +and 3.0 will not be available until numpy is available on those |
| 17 | +releases). Thanks to the many developers who contributed to this |
| 18 | +release, with contributions from Jae-Joon Lee, Michael Droettboom, |
| 19 | +Ryan May, Eric Firing, Manuel Metz, Jouni K. Seppänen, Jeff Whitaker, |
| 20 | +Darren Dale, David Kaplan, Michiel de Hoon and many others who |
| 21 | +submitted patches |
| 22 | + |
| 23 | +.. _legend-refactor: |
| 24 | + |
| 25 | +Legend enhancements |
| 26 | +-------------------- |
| 27 | + |
| 28 | +Jae-Joon has rewritten the legend class, and added support for |
| 29 | +multiple columns and rows, as well as fancy box drawing. See |
| 30 | +:func:`~matplotlib.pyplot.legend` and |
| 31 | +:class:`matplotlib.legend.Legend`. |
| 32 | + |
| 33 | +.. plot:: pyplots/whats_new_98_4_legend.py |
| 34 | + |
| 35 | +.. _fancy-annotations: |
| 36 | + |
| 37 | +Fancy annotations and arrows |
| 38 | +----------------------------- |
| 39 | + |
| 40 | +Jae-Joon has added lots of support to annotations for drawing fancy |
| 41 | +boxes and connectors in annotations. See |
| 42 | +:func:`~matplotlib.pyplot.annotate` and |
| 43 | +:class:`~matplotlib.patches.BoxStyle`, |
| 44 | +:class:`~matplotlib.patches.ArrowStyle`, and |
| 45 | +:class:`~matplotlib.patches.ConnectionStyle`. |
| 46 | + |
| 47 | +.. plot:: pyplots/whats_new_98_4_fancy.py |
| 48 | + |
| 49 | +.. _psd-amplitude: |
| 50 | + |
| 51 | + |
| 52 | +Native OS X backend |
| 53 | +-------------------- |
| 54 | + |
| 55 | +Michiel de Hoon has provided a native Mac OSX backend that is almost |
| 56 | +completely implemented in C. The backend can therefore use Quartz |
| 57 | +directly and, depending on the application, can be orders of magnitude |
| 58 | +faster than the existing backends. In addition, no third-party |
| 59 | +libraries are needed other than Python and NumPy. The backend is |
| 60 | +interactive from the usual terminal application on Mac using regular |
| 61 | +Python. It hasn't been tested with ipython yet, but in principle it |
| 62 | +should to work there as well. Set 'backend : macosx' in your |
| 63 | +matplotlibrc file, or run your script with:: |
| 64 | + |
| 65 | + > python myfile.py -dmacosx |
| 66 | + |
| 67 | +psd amplitude scaling |
| 68 | +------------------------- |
| 69 | + |
| 70 | +Ryan May did a lot of work to rationalize the amplitude scaling of |
| 71 | +:func:`~matplotlib.pyplot.psd` and friends. See |
| 72 | +:ref:`pylab_examples-psd_demo2`. and :ref:`pylab_examples-psd_demo3`. |
| 73 | +The changes should increase MATLAB |
| 74 | +compatibility and increase scaling options. |
| 75 | + |
| 76 | +.. _fill-between: |
| 77 | + |
| 78 | +Fill between |
| 79 | +------------------ |
| 80 | + |
| 81 | +Added a :func:`~matplotlib.pyplot.fill_between` function to make it |
| 82 | +easier to do shaded region plots in the presence of masked data. You |
| 83 | +can pass an *x* array and a *ylower* and *yupper* array to fill |
| 84 | +between, and an optional *where* argument which is a logical mask |
| 85 | +where you want to do the filling. |
| 86 | + |
| 87 | +.. plot:: pyplots/whats_new_98_4_fill_between.py |
| 88 | + |
| 89 | +Lots more |
| 90 | +----------- |
| 91 | + |
| 92 | +Here are the 0.98.4 notes from the CHANGELOG:: |
| 93 | + |
| 94 | + Added mdehoon's native macosx backend from sf patch 2179017 - JDH |
| 95 | + |
| 96 | + Removed the prints in the set_*style commands. Return the list of |
| 97 | + pretty-printed strings instead - JDH |
| 98 | + |
| 99 | + Some of the changes Michael made to improve the output of the |
| 100 | + property tables in the rest docs broke of made difficult to use |
| 101 | + some of the interactive doc helpers, e.g., setp and getp. Having all |
| 102 | + the rest markup in the ipython shell also confused the docstrings. |
| 103 | + I added a new rc param docstring.harcopy, to format the docstrings |
| 104 | + differently for hardcopy and other use. The ArtistInspector |
| 105 | + could use a little refactoring now since there is duplication of |
| 106 | + effort between the rest out put and the non-rest output - JDH |
| 107 | + |
| 108 | + Updated spectral methods (psd, csd, etc.) to scale one-sided |
| 109 | + densities by a factor of 2 and, optionally, scale all densities by |
| 110 | + the sampling frequency. This gives better MATLAB |
| 111 | + compatibility. -RM |
| 112 | + |
| 113 | + Fixed alignment of ticks in colorbars. -MGD |
| 114 | + |
| 115 | + drop the deprecated "new" keyword of np.histogram() for numpy 1.2 |
| 116 | + or later. -JJL |
| 117 | + |
| 118 | + Fixed a bug in svg backend that new_figure_manager() ignores |
| 119 | + keywords arguments such as figsize, etc. -JJL |
| 120 | + |
| 121 | + Fixed a bug that the handlelength of the new legend class set too |
| 122 | + short when numpoints=1 -JJL |
| 123 | + |
| 124 | + Added support for data with units (e.g., dates) to |
| 125 | + Axes.fill_between. -RM |
| 126 | + |
| 127 | + Added fancybox keyword to legend. Also applied some changes for |
| 128 | + better look, including baseline adjustment of the multiline texts |
| 129 | + so that it is center aligned. -JJL |
| 130 | + |
| 131 | + The transmuter classes in the patches.py are reorganized as |
| 132 | + subclasses of the Style classes. A few more box and arrow styles |
| 133 | + are added. -JJL |
| 134 | + |
| 135 | + Fixed a bug in the new legend class that didn't allowed a tuple of |
| 136 | + coordinate values as loc. -JJL |
| 137 | + |
| 138 | + Improve checks for external dependencies, using subprocess |
| 139 | + (instead of deprecated popen*) and distutils (for version |
| 140 | + checking) - DSD |
| 141 | + |
| 142 | + Reimplementation of the legend which supports baseline alignment, |
| 143 | + multi-column, and expand mode. - JJL |
| 144 | + |
| 145 | + Fixed histogram autoscaling bug when bins or range are given |
| 146 | + explicitly (fixes Debian bug 503148) - MM |
| 147 | + |
| 148 | + Added rcParam axes.unicode_minus which allows plain hyphen for |
| 149 | + minus when False - JDH |
| 150 | + |
| 151 | + Added scatterpoints support in Legend. patch by Erik Tollerud - |
| 152 | + JJL |
| 153 | + |
| 154 | + Fix crash in log ticking. - MGD |
| 155 | + |
| 156 | + Added static helper method BrokenHBarCollection.span_where and |
| 157 | + Axes/pyplot method fill_between. See |
| 158 | + examples/pylab/fill_between.py - JDH |
| 159 | + |
| 160 | + Add x_isdata and y_isdata attributes to Artist instances, and use |
| 161 | + them to determine whether either or both coordinates are used when |
| 162 | + updating dataLim. This is used to fix autoscaling problems that |
| 163 | + had been triggered by axhline, axhspan, axvline, axvspan. - EF |
| 164 | + |
| 165 | + Update the psd(), csd(), cohere(), and specgram() methods of Axes |
| 166 | + and the csd() cohere(), and specgram() functions in mlab to be in |
| 167 | + sync with the changes to psd(). In fact, under the hood, these |
| 168 | + all call the same core to do computations. - RM |
| 169 | + |
| 170 | + Add 'pad_to' and 'sides' parameters to mlab.psd() to allow |
| 171 | + controlling of zero padding and returning of negative frequency |
| 172 | + components, respectively. These are added in a way that does not |
| 173 | + change the API. - RM |
| 174 | + |
| 175 | + Fix handling of c kwarg by scatter; generalize is_string_like to |
| 176 | + accept numpy and numpy.ma string array scalars. - RM and EF |
| 177 | + |
| 178 | + Fix a possible EINTR problem in dviread, which might help when |
| 179 | + saving pdf files from the qt backend. - JKS |
| 180 | + |
| 181 | + Fix bug with zoom to rectangle and twin axes - MGD |
| 182 | + |
| 183 | + Added Jae Joon's fancy arrow, box and annotation enhancements -- |
| 184 | + see examples/pylab_examples/annotation_demo2.py |
| 185 | + |
| 186 | + Autoscaling is now supported with shared axes - EF |
| 187 | + |
| 188 | + Fixed exception in dviread that happened with Minion - JKS |
| 189 | + |
| 190 | + set_xlim, ylim now return a copy of the viewlim array to avoid |
| 191 | + modify inplace surprises |
| 192 | + |
| 193 | + Added image thumbnail generating function |
| 194 | + matplotlib.image.thumbnail. See examples/misc/image_thumbnail.py |
| 195 | + - JDH |
| 196 | + |
| 197 | + Applied scatleg patch based on ideas and work by Erik Tollerud and |
| 198 | + Jae-Joon Lee. - MM |
| 199 | + |
| 200 | + Fixed bug in pdf backend: if you pass a file object for output |
| 201 | + instead of a filename, e.g., in a wep app, we now flush the object |
| 202 | + at the end. - JKS |
| 203 | + |
| 204 | + Add path simplification support to paths with gaps. - EF |
| 205 | + |
| 206 | + Fix problem with AFM files that don't specify the font's full name |
| 207 | + or family name. - JKS |
| 208 | + |
| 209 | + Added 'scilimits' kwarg to Axes.ticklabel_format() method, for |
| 210 | + easy access to the set_powerlimits method of the major |
| 211 | + ScalarFormatter. - EF |
| 212 | + |
| 213 | + Experimental new kwarg borderpad to replace pad in legend, based |
| 214 | + on suggestion by Jae-Joon Lee. - EF |
| 215 | + |
| 216 | + Allow spy to ignore zero values in sparse arrays, based on patch |
| 217 | + by Tony Yu. Also fixed plot to handle empty data arrays, and |
| 218 | + fixed handling of markers in figlegend. - EF |
| 219 | + |
| 220 | + Introduce drawstyles for lines. Transparently split linestyles |
| 221 | + like 'steps--' into drawstyle 'steps' and linestyle '--'. Legends |
| 222 | + always use drawstyle 'default'. - MM |
| 223 | + |
| 224 | + Fixed quiver and quiverkey bugs (failure to scale properly when |
| 225 | + resizing) and added additional methods for determining the arrow |
| 226 | + angles - EF |
| 227 | + |
| 228 | + Fix polar interpolation to handle negative values of theta - MGD |
| 229 | + |
| 230 | + Reorganized cbook and mlab methods related to numerical |
| 231 | + calculations that have little to do with the goals of those two |
| 232 | + modules into a separate module numerical_methods.py Also, added |
| 233 | + ability to select points and stop point selection with keyboard in |
| 234 | + ginput and manual contour labeling code. Finally, fixed contour |
| 235 | + labeling bug. - DMK |
| 236 | + |
| 237 | + Fix backtick in Postscript output. - MGD |
| 238 | + |
| 239 | + [ 2089958 ] Path simplification for vector output backends |
| 240 | + Leverage the simplification code exposed through path_to_polygons |
| 241 | + to simplify certain well-behaved paths in the vector backends |
| 242 | + (PDF, PS and SVG). "path.simplify" must be set to True in |
| 243 | + matplotlibrc for this to work. - MGD |
| 244 | + |
| 245 | + Add "filled" kwarg to Path.intersects_path and |
| 246 | + Path.intersects_bbox. - MGD |
| 247 | + |
| 248 | + Changed full arrows slightly to avoid an xpdf rendering problem |
| 249 | + reported by Friedrich Hagedorn. - JKS |
| 250 | + |
| 251 | + Fix conversion of quadratic to cubic Bezier curves in PDF and PS |
| 252 | + backends. Patch by Jae-Joon Lee. - JKS |
| 253 | + |
| 254 | + Added 5-point star marker to plot command q- EF |
| 255 | + |
| 256 | + Fix hatching in PS backend - MGD |
| 257 | + |
| 258 | + Fix log with base 2 - MGD |
| 259 | + |
| 260 | + Added support for bilinear interpolation in |
| 261 | + NonUniformImage; patch by Gregory Lielens. - EF |
| 262 | + |
| 263 | + Added support for multiple histograms with data of |
| 264 | + different length - MM |
| 265 | + |
| 266 | + Fix step plots with log scale - MGD |
| 267 | + |
| 268 | + Fix masked arrays with markers in non-Agg backends - MGD |
| 269 | + |
| 270 | + Fix clip_on kwarg so it actually works correctly - MGD |
| 271 | + |
| 272 | + Fix locale problems in SVG backend - MGD |
| 273 | + |
| 274 | + fix quiver so masked values are not plotted - JSW |
| 275 | + |
| 276 | + improve interactive pan/zoom in qt4 backend on windows - DSD |
| 277 | + |
| 278 | + Fix more bugs in NaN/inf handling. In particular, path |
| 279 | + simplification (which does not handle NaNs or infs) will be turned |
| 280 | + off automatically when infs or NaNs are present. Also masked |
| 281 | + arrays are now converted to arrays with NaNs for consistent |
| 282 | + handling of masks and NaNs - MGD and EF |
| 283 | + |
| 284 | + Added support for arbitrary rasterization resolutions to the SVG |
| 285 | + backend. - MW |
0 commit comments