Hi
I'm Shivam Vats, a second year undergraduate Maths and Computing student at 
IIT, Kharagpur, India. I'll be applying for Gsoc 
2015 with Sympy. I've got a few patches merged and have been exploring 
Sympy for over a few months. Though I've not decided 
on my proposal, recently while looking into the plotting module I realised 
that there is a lot of work to do in it. The rationale for this
post is to clear my doubts and get everyone's views regarding the issues in 
the plotting module. I'd appreciate any help.

ISSUES/BUGS

1) Sympy can't interpret the assumptions about the variables in the 
equations. eg:
   
                     x = Symbol('x', positive=True)
                     plot(x)

It plots on the default [-10,10] interval, where it clearly shouldn't. My  PR 
8701 <https://github.com/sympy/sympy/pull/8701> is a start, but it solves 
the problem only for 
positive and negative variables. However the basic question is whether we 
should check the range given by the user and 
whether we want to have a smarter default range than the present [-10, 10].
In my opinion, a function that finds the domain of the function, taking 
into account the assumptions about the variables in it
should work.

2) Currently if the ylim is not specified, plot adjusts the scale to show 
the whole graph. In many cases it may not be desired 
 (Try plotting 1/x with default values) Instead of this default behaviour, 
one which limits the ylim to say a factor(just an example) 
  of the max(x) should give better results, something like:                 
                         

                                   if parent.ylim:   
                                       self.ax.set_ylim(parent.ylim)
                                   else:
                                   starts = [s.start for s in parent._series
]
                                   ends = [s.end for s in parent._series]
                                   self.ax.set_ylim(10*min(starts), 10*max(
ends))

TODOs

1) ContourSeries class in plot.py is currently not used anywhere:- I found 
this piece of code lying unused. Do we want to create a plot_contour
   function on the lines of plot?
2) A more general way to calculate aesthetics:- I found this in the code. 
Could someone please elaborate on what features we might want 
   to add? Currently it can handle a function.
3) Adaptive sampling for 3D plot as Stefan mentions here 
https://groups.google.com/forum/#!topic/sympy/xHnYUtJVnx0
   using triangular meshes: I don't  understand the method right now, but 
would be more than happy to work on it if someone could give me 
  some  pointers on how to start.

Cheers!



-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/741c4bfe-769a-4dbc-8c37-f9572f3160af%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to