pyOPALTools issueshttps://gitlab.psi.ch/OPAL/pyOPALTools/-/issues2020-07-20T10:39:13+02:00https://gitlab.psi.ch/OPAL/pyOPALTools/-/issues/88Units with Pint2020-07-20T10:39:13+02:00frey_mUnits with PintAs briefly discussed in https://gitlab.psi.ch/OPAL/pyOPALTools/merge_requests/63#note_22571, we could use ~~[SymPy](https://www.sympy.org/en/index.html)~~ [Pint](https://pint.readthedocs.io/en/stable/) to do operations on units for plotting.As briefly discussed in https://gitlab.psi.ch/OPAL/pyOPALTools/merge_requests/63#note_22571, we could use ~~[SymPy](https://www.sympy.org/en/index.html)~~ [Pint](https://pint.readthedocs.io/en/stable/) to do operations on units for plotting.https://gitlab.psi.ch/OPAL/pyOPALTools/-/issues/39Checking the usability of hvplot2019-07-07T16:47:52+02:00frey_mChecking the usability of hvplotWe might switch to [hvplot](https://hvplot.pyviz.org/) which is able to process different Python data frames.
CC: @adelmannWe might switch to [hvplot](https://hvplot.pyviz.org/) which is able to process different Python data frames.
CC: @adelmannhttps://gitlab.psi.ch/OPAL/pyOPALTools/-/issues/37Use Dask for datasets2019-07-04T12:34:52+02:00frey_mUse Dask for datasetsWe should move from native `numpy` and `pandas` to `dask`. With `dask` we can run in parallel on large datasets.
https://dask.org/We should move from native `numpy` and `pandas` to `dask`. With `dask` we can run in parallel on large datasets.
https://dask.org/https://gitlab.psi.ch/OPAL/pyOPALTools/-/issues/15Plotting Recommendation2020-04-07T11:00:46+02:00ext-roussel_rPlotting RecommendationThe plotting modules could be improved by using the object oriented approach to the matplotlib API. Functions returning matplotlib.pyplot.Figure or matplotlib.pyplot.Axes objects are far easier to work with when customizing plots. See from https://matplotlib.org/api/pyplot_summary.html
> Most of these functions also exist as methods in the matplotlib.axes.Axes class. You can use them with the “Object Oriented” approach to Matplotlib.
While it is easy to quickly generate plots with the matplotlib.pyplot module, we recommend using the object-oriented approach for more control and customization of your plots. See the methods in the matplotlib.axes.Axes() class for many of the same plotting functions. For examples of the OO approach to Matplotlib, see the API Examples.
I suggest having a kwargs argument that takes an matplotlib.pyplot.Axes object that determines if the function creates a new figure or not, ie.
```python
def plot(x,y,ax=''):
if not ax:
fig,ax = plt.subplots()
ax.plot(x,y)
return ax
```
This works well for a user who creates an array of plots and wants to fill each axis with a particular plot.The plotting modules could be improved by using the object oriented approach to the matplotlib API. Functions returning matplotlib.pyplot.Figure or matplotlib.pyplot.Axes objects are far easier to work with when customizing plots. See from https://matplotlib.org/api/pyplot_summary.html
> Most of these functions also exist as methods in the matplotlib.axes.Axes class. You can use them with the “Object Oriented” approach to Matplotlib.
While it is easy to quickly generate plots with the matplotlib.pyplot module, we recommend using the object-oriented approach for more control and customization of your plots. See the methods in the matplotlib.axes.Axes() class for many of the same plotting functions. For examples of the OO approach to Matplotlib, see the API Examples.
I suggest having a kwargs argument that takes an matplotlib.pyplot.Axes object that determines if the function creates a new figure or not, ie.
```python
def plot(x,y,ax=''):
if not ax:
fig,ax = plt.subplots()
ax.plot(x,y)
return ax
```
This works well for a user who creates an array of plots and wants to fill each axis with a particular plot.ext-roussel_rext-roussel_r