1

There is a graphing tool bundled with macOS named Grapher. Is there a similar graph plotting software for Linux (Debian, Ubuntu)?

The software should be able to take equations as input, and produce graphs. The graph should be "navigable" (zoom in, zoom out, change scale of axes, etc.). The software should also be able to export the graph in PNG or JPEG formats.

3
  • There is an OSX emulator for Linux, named Darling. Hopefully you will get a native answer. – peterh Sep 5 '20 at 8:02
  • 1
    @Izzy Okay, I've edited my question. – Flux Sep 5 '20 at 14:46
  • Thanks! Cleaning up the comments then. Good luck! – Izzy Sep 5 '20 at 18:07
1

I don't know what exactly you want/need but there are a couple of options:

  1. GnuPlot
  2. matplotlib
  3. KmPlot
  4. GeoGebra
  5. desmos

GnuPlot

Works cross platform and is command based. There are many options for both 2D and 3D graphs. Just take a look at the demos for Gnuplot.

Gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. The source code is copyrighted but freely distributed (i.e., you don't have to pay for it). It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by third-party applications like Octave. Gnuplot has been supported and under active development since 1986.

Matplotlib

Works with python and might be better for starting of with command based plotting. There is a tutorial site and as with Gnuplot a page of examples. There are more options for graphs than you could propably think of.

KmPlot

Desktop aplication for KDE. Can do simple 2D graphing and some more advanced things like derivatives and integrals. It is simple to use but not nearly as capable as the Gnuplot and matplotlib. Does not work cross platform. Really only useful for getting a png or jpg of a graph and to do some school level calculations.

GeoGebra

Works both in the browser and as desktop application. Has an option to sync you projects in the browser. Works for simple 2D and 3D Graphs but doesn't come close to the former two in features. Mostly usefull in the classrom or to replace a graphing calculator.

desmos

Very similar to Geogebra in the browser with similar usecase. Can only be used in the browser and only for 2D graphs. Really just for school and as an online graphing calculator. Also has some other useful tools like the scientific calculator.

Conclusion

If you are already familiar with matlab-like commands you should definitely go with Geogebra or Matplotlib. The former is more common in universities (at least where I live) the latter might be nicer to get started with. If you just need a quick 2D graph I would go with Geogebra.

6
  • "mathlab" -> "Matlab". "Mathplotlib" -> "Matplotlib". – Flux Sep 5 '20 at 14:48
  • I am unsure if you are just pointing out my terrible spelling or confused. MATLAB and matplotlib are two different things entirely! Matlab is a comercial product while matplotlib is open-source. Matlab is also for general numerikal use while matplotlib is only for graphing use. – totalynotanoob Sep 5 '20 at 14:56
  • Sorry, I was just pointing out some typos. – Flux Sep 5 '20 at 14:57
  • no problem. I appreciate criticism. was just making sure you understood the anwser. – totalynotanoob Sep 5 '20 at 15:01
  • 1
    Thanks. You might want to mention KDE's KmPlot as well. – Flux Sep 5 '20 at 15:02
0

If your calculations are simple or the data is in columns, your best bet might be to use a spreadsheet program to plot the data. Excel plots data or the free suite called Open Office has a spreadsheet package called Calc. It will also plot data. If you want to plot an equation just define the x values and calculate the y-values from the equation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.