[Matplotlib-devel] matplotlib limitations and design flaws
Eric Firing
efiring at hawaii.edu
Wed Feb 10 02:29:56 EST 2016
On 2016/02/09 8:22 PM, Phillip Feldman wrote:
> Dear matplotlib developers (and users):
>
> I've expanded my web page "Python Limitations and Design Flaws" to
> include a good-size section on matplotlib (item number 3). The URL is
> as follows:
>
> http://phillipmfeldman.org/Python/Python_Limitations.html
>
> All feedback other than flames is welcome!
Regarding the polar plot, you are correct that there is an odd situation
where angles are input in radians and labeled in degrees, but I think
your description is incorrect. The inconsistency is entirely with the
azimuth. The radial labels are labeling the radial coordinate, which
has whatever dimensions are appropriate for the data at hand, unlike the
azimuth, which is dimensionless. The radial coordinate is correctly
labeled with the numbers you supplied.
Regarding the figure margin default: first, this presently applies only
to the figure on screen, not to figures written to a file; and second,
as soon as we get 2.0 out, the default will be for the margin to be
white in both cases.
Regarding the "Plot titles are by default jammed against...", I don't
think this is true for the full set of defaults, so I don't know what is
leading you to this conclusion; but a genuine weakness is that we lack a
layout engine, so tweaking of the sort you suggest is indeed needed all
too often.
Regarding the positional arguments to contour and contourf: yes, this is
an unfortunate result of the initial design of the pylab interface to be
close to Matlab, so as to make it easy for Matlab users to switch.
Regarding your first point, "lack of uniformity among the interfaces": I
think all of the developers would agree that this is a problem. It
arose from matplotlib's organic growth, and we are gradually trying to
address it.
Regarding your very first point, "Block Comments", I agree that it would
be nice to be able to use C-style /* and */, for example, but I find the
lack to be a very minor point. My workaround is to indent the block and
insert the line "if False:" above it.
Eric
>
> Phillip
>
>
> _______________________________________________
> Matplotlib-devel mailing list
> Matplotlib-devel at python.org
> https://mail.python.org/mailman/listinfo/matplotlib-devel
>
More information about the Matplotlib-devel
mailing list