#5448: [with patch, needs work] rework save/show in plot, use Matplotlib's axes
code, upgrade matplotlib
-------------------------+--------------------------------------------------
Reporter: mhansen | Owner: mhansen
Type: enhancement | Status: assigned
Priority: major | Milestone: sage-4.1.2
Component: graphics | Keywords:
Reviewer: | Author:
Merged: |
-------------------------+--------------------------------------------------
Comment(by jason):
Replying to [comment:12 kcrisman]:
> Replying to [comment:11 jason]:
> > Thanks for looking at this! I haven't had time to come back to it yet
(our semester started...)
> >
> > Replying to [comment:10 kcrisman]:
> > > 1. When using pointsize, matplotlib axes (or the way in which they
are used) has some whitespace cutting off points, for example when
pointsize is large (20 worked for me, but unfortunately I can't cut and
paste and example here).
> >
> > On the one hand, I can turn off clipping. However, that tends to make
really ugly plots when you have frame axes (since then the dots go outside
of the frames). On the other hand, we can automatically enlarge the plot
axes (so that if you request -3..3, it might actually cover -3.5..3.5).
This could be frustrating, but is sort of what happens now. I guess you
have to make a choice between things extending beyond your plot (no
clipping) or extending your plot. For right now, I was hoping that people
would just make their ranges a bit bigger by hand.
>
> Definitely should be automatic, I think, if it's already-existing
behavior.
Okay, I think I have an idea that will do this (find the bounding box of
the scatter plots, convert those coordinates to axes coordinates, and then
enlarge the axes to include those bounding boxes)
> >
> >
> >
> > >
> > > 2. I'm not sure I like the non-intersecting axes on regular plots.
That is weird, especially in graphs like the plot of x squared type
things. plot(x**2,0,1) looks great; plot(x**2,-1,1) looks... interesting.
> >
> > Yeah, it's a bit different, but after playing with it for a while, I
liked it. At a glance, it oriented me to what I was looking at and how it
was compared to the infinite plane. This is definitely something that
should go up for a vote.
>
> I'm not sure what you are looking at. The axes do not actually cross!
That is bad, imho.
And, after I played with it for a bit, I thought it was great! The axes
only ever cross at the origin. That is wonderfully refreshing and
consistent, and leads to being able to immediately orient yourself in the
graph without having to examine and think about the axes tick labels. If
there is some space, then that means you are way above the axis (and the
side the axis is on tells you where the axis really is). I think of it
sort of like a small zigzag break in the axes. Maybe if we put that in an
explicit small zigzag symbol, would that help you?
> > >
> > > 6. Ironically, switching slope fields to normal (not frame) axes is
worse, because it's hard to see the numbers with any reasonably density of
the points for the slopes.
> >
> >
> > and your proposed fix is...?
> >
>
> Using frames again for slope fields (the previous behavior).
Ah, I thought I did this. I did it for contour plots; doing it for vector
fields is about a one-line change (just add frame=True to the @options
decorator before the vector field plotting function)
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5448#comment:14>
Sage <http://sagemath.org/>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---