Skip to content

Commit 5a6fc71

Browse files
committed
Add section about what psyplot is
and what it is not
1 parent fc44475 commit 5a6fc71

1 file changed

Lines changed: 89 additions & 3 deletions

File tree

‎docs/about.rst‎

Lines changed: 89 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ easy accessible framework to visualize data from a GUI and the command line
1717
(and of course through a script).
1818

1919
There exists nothing like that. Of course you can also work with software like
20-
Paraview via the built-in python shell. But, if you really want to explore your
20+
Paraview_ via the built-in python shell. But, if you really want to explore your
2121
data it is totally not straightforward to access and explore it from within
2222
such a software using numeric functions from numpy, scipy, etc.
2323

@@ -26,8 +26,8 @@ efficiently with short and comprehensive commands, that can be accessed
2626
through a GUI (see :ref:`projects`) and where you have always a comprehensive
2727
API to access your data.
2828

29-
Different from the usual use with matplotlib, which in the end most of the time
30-
results in copy-pasting parts of your code, this software is build on the
29+
Different from the usual use with matplotlib, which in the end results most of
30+
the time in copy-pasting parts of your code, this software is build on the
3131
*don't repeat yourself* principle. Each of the small parts that make up a
3232
visualization, whether it is part of the data evaluation or of the appearance
3333
of the plot, psyplot puts it into a formatoption can be reused when it is
@@ -41,6 +41,92 @@ please let me know if you have a different opinion.
4141
.. _matplotlib: http://matplotlib.org
4242

4343

44+
.. _what-it-is-and-what-it-is-not:
45+
46+
What it is, and what it is not
47+
------------------------------
48+
.. note::
49+
50+
First of all, it's open source! So please, if you don't agree with the
51+
points below, `edit this document`_ and click on *Propose File Change* and
52+
*Create pull request*. We can then discuss your changes.
53+
54+
.. _edit this document: https://github.com/psyplot/psyplot/edit/master/docs/about.rst
55+
56+
There are tons of software tools around for visualization, so what is special
57+
about psyplot? The following list should hopefully provide you some guidance.
58+
59+
What it is not
60+
**************
61+
- it is not the fastest. If matplotlib or the standard visualization utilities
62+
from R, NCL, etc. are sufficient for you, you can go with psyplot. If you
63+
want to create a global map with tens of millions of grid cells, you are
64+
better of using a more powerful (but more complex and in many respects less
65+
flexible) GPU-based software, such as Paraview_.
66+
- it is not the best for interactive web-applications. Although it would be
67+
pretty simple to set up a backend server with psyplot and tornado_ or Flask_,
68+
for instance, it's limited to sending rastered image data around, due to the
69+
`options provided by matplotlib`_. This might change in the future, when we
70+
are using `other visualization backends`_.
71+
- it is not as fast as ncview_. psyplot (and psy-view_ in particular) are
72+
written in python and therefore, we are very flexible (much more than ncview),
73+
but we will never beat the speed of the (compiled) ncview software.
74+
- our GUI is not the most interactive one. psyplot is a `command-line-first`
75+
software, i.e. we put the most effort in making the usage from command-line
76+
and scripts as easy as possible. The GUI is something on top and is limited by
77+
the speed and functionalities of matplotlib (which is, nevertheless, pretty
78+
rich)
79+
- it is not made for statistical visualizations. Although there are some
80+
functionalities implemented by psy-reg_, it will never beat the possibilities
81+
by packages like seaborn_ or R_. The only advantage of psy-reg over these
82+
other software tools, is the possibility to adapt everything using the full
83+
power of matplotlib artists within and outside of the psyplot framework
84+
- it is not the best software for manipulating shapefiles, although some support
85+
of this might come in the future.
86+
87+
What it is
88+
**********
89+
- It is fast. Not necessarily when it comes down to being the fastest
90+
interactive visualization software, but for sure when it comes down to
91+
development time, as it is very user-friendly from the command line. There are
92+
no other software packages that provide a simple and intuitive visualization
93+
such as
94+
95+
.. code-block:: python
96+
97+
psy.plot.mapplot('my-netcdf-file.nc', lonlatbox='Germany')
98+
99+
while still providing a very high range of flexible options to adjust the
100+
visualization. No GUI, independent of it's intuitiveness, can ever beat the
101+
speed of a scientist that knows a bit of coding and how to use the different
102+
formatoptions in psyplot.
103+
- it is very flexible (I think we made this point already).
104+
105+
* We can implement tons of new visualization and data analysis techniques and
106+
:ref:`you can implement your own <plugins_guide>`.
107+
* they are automatically implemented in the GUI
108+
* the user can do his statistical and numerical computations with software
109+
like xarray, numpy, scipy, etc. and then use the psyplot visualization
110+
methods in the same script
111+
* it's modular framework allows to tackle new scientific questions and handle
112+
handled them in separate psyplot plugins with it's own formatoptions and
113+
plotting methods
114+
- it intuitively integrates the structure of netCDF files. So if you often
115+
work with netCDF files, psyplot might be a good option
116+
- it is pythonic. If you are using python anyway, psyplot is worth a try and we
117+
are always keen to help new users getting started.
118+
- it will always be free and open-source under the GPL License.
119+
120+
.. _Paraview: https://www.paraview.org
121+
.. _tornado: https://www.tornadoweb.org
122+
.. _options provided by matplotlib: https://matplotlib.org/3.1.1/faq/howto_faq.html#how-to-use-matplotlib-in-a-web-application-server
123+
.. _other visualization backends: https://github.com/psyplot/psy-view
124+
.. _ncview: http://meteora.ucsd.edu/~pierce/ncview_home_page.html
125+
.. _psy-reg: https://psyplot.readthedocs.io/projects/psy-reg
126+
.. _seaborn: https://seaborn.pydata.org
127+
.. _R: https://www.r-project.org/
128+
129+
44130
About the author
45131
----------------
46132
I, (`Philipp Sommer`_), work as a Data Scientist at the Helmholtz-Zentrum

0 commit comments

Comments
 (0)