Discussion GSoC 2020: Adding of new plotting method

102 views
Skip to first unread message

Praveen kumar

unread,
Feb 6, 2020, 12:13:41 AM2/6/20
to sympy
Hello Everyone,
I'm Praveen Kumar, a second-year undergraduate student at the Indian Institute of Information Technology and Management, Gwalior. 
I have been using sympy for the last three months and want to contribute to it. I was coding with python for the past six months. I was also familiar with C, C++, Javascript, and Django. 

I want to improve the plotting techniques in sympy live and sympy gamma. But want to know which part of the codebase is for the plotting technique for the sympy gamma and can we include some external library for plotting the graphs.
Basic idea what I want to do is to enable multiple argument to be passed into sympy gamma plot function like we do in normal use. And plot the 3d graphs of the multivariate functions which are currently not supported.

Please help me if you have any opinions regarding this project idea.

Aaron Meurer

unread,
Feb 6, 2020, 12:15:20 AM2/6/20
to sympy
Yes, you can use external libraries for SymPy Live or Gamma. The
current architecture makes it hard to install Python packages that
have non-pure Python dependencies (though I think matplotlib might
come included). You can also use any Javascript library.

Aaron Meurer
> --
> 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+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/bbacf632-9ba1-4eb0-8905-347d29a9cdb9%40googlegroups.com.

Praveen kumar

unread,
Feb 8, 2020, 6:46:41 AM2/8/20
to sympy
As mentioned in this link https://cloud.google.com/appengine/docs/deprecations/django django support for version 1.2 and 1.3 was removed. But SympyGamma was still running on it (as mentioned in the codebase) should we migrate to a newer version of django. As while initializing it asks for new version of django.


On Thursday, February 6, 2020 at 10:45:20 AM UTC+5:30, Aaron Meurer wrote:
Yes, you can use external libraries for SymPy Live or Gamma. The
current architecture makes it hard to install Python packages that
have non-pure Python dependencies (though I think matplotlib might
come included). You can also use any Javascript library.

Aaron Meurer

On Wed, Feb 5, 2020 at 10:13 PM Praveen kumar <povi...@gmail.com> wrote:
>
> Hello Everyone,
> I'm Praveen Kumar, a second-year undergraduate student at the Indian Institute of Information Technology and Management, Gwalior.
> I have been using sympy for the last three months and want to contribute to it. I was coding with python for the past six months. I was also familiar with C, C++, Javascript, and Django.
>
> I want to improve the plotting techniques in sympy live and sympy gamma. But want to know which part of the codebase is for the plotting technique for the sympy gamma and can we include some external library for plotting the graphs.
> Basic idea what I want to do is to enable multiple argument to be passed into sympy gamma plot function like we do in normal use. And plot the 3d graphs of the multivariate functions which are currently not supported.
>
> Please help me if you have any opinions regarding this project idea.
>
> --
> 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 sy...@googlegroups.com.

Praveen kumar

unread,
Feb 25, 2020, 1:14:10 PM2/25/20
to sympy
Will writing the changes in the current code base of SympyGamma to enable multivariate plotting, I tried to execute same multivariate function on sympy live also and on response it provided string. Should this is a problem or sympyLive was just designed to provide output in form of textual data output not the in form of graphical data. If not I want to work upon this idea to improve the plotting in sympyLive as supported in SympyGamma. I want some help to get started on plotting technique for sympyLive. And in the later work want to improve the parsing technique for the both SympyGamma and SympyLive.
Please give feedback upon the above mentioned idea.

Aaron Meurer

unread,
Feb 25, 2020, 5:28:48 PM2/25/20
to sympy
SymPy Live already displays MathJax for formulas, which is a
Javascript object. I'm sure it wouldn't be hard to display an image as
well.

But this is also something that Jupyter notebooks already handle quite
well, which is why I think we should try to migrate SymPy Live to
Binder.

Aaron Meurer
> To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/ee546b04-c06a-437b-90fb-ab136bc83aa8%40googlegroups.com.

Praveen kumar

unread,
Feb 29, 2020, 8:30:07 AM2/29/20
to sympy
I added support for the two-variable plotting in sympy gamma using Plotly javascript open-source graphing library which is build on top of d3.js which is currently being used in sympy gamma. This feature will allow user to visualize contour plots of two variable function which is currently not supported in sympyGamma, showing an error with message that 'cannot plot multivariate function'. For more than three variable function it will still show an error message as showing previously.

I am attaching a screenshot of the output produced by some multivariate function, as I am unable to deploy the app instance currently.
Any suggestion or comment regarding the above idea is needed for further improvement
Screenshot from 2020-02-29 18-29-19.png
Screenshot from 2020-02-29 18-53-44.png

Praveen kumar

unread,
Mar 25, 2020, 3:58:07 PM3/25/20
to sympy
I made a draft for my proposal on "Improve plotting module", and I think this is ready but some tweaks might be needed. Please review and drop comments if any changes are required so that I can do them accordingly before the deadline.


Thanks,
Praveen Kumar 
Reply all
Reply to author
Forward
0 new messages