psyplot / psyplot-gui Goto Github PK
View Code? Open in Web Editor NEWGraphical User Interface for the psyplot package
Home Page: https://psyplot.github.io/psyplot-gui
Graphical User Interface for the psyplot package
Home Page: https://psyplot.github.io/psyplot-gui
I tried to open ERA5 single level netcdf data to visualize on GUI; however, I had an error when I tried to plot a figure for a variable (e.g. u10).
When selecting a variable, psyplot should show the figure of the variable.
psyplot -aV
Similar to the DataFrameViewer, it would be helpful to have a DatasetViewer
A quick and nice-looking access to the Dataset is crucial for data analysis
This widget should contain at least
str(xr.Dataset())
and where you can select the variablesThe plot creator widget has multiple not well documented features
At the moment, the table with the arrays, the coordinate combo boxes
and the subplot creation is not documented
Only plot method and formatoptions are documented, some widgets have tooltips
Some new docs should be implemented:
see psyplot/psy-maps#26 for instance
For scalar coordinates, such as time or level in map plots, there should be a spin box to update to the next step of the dimension.
Allows a faster switch between the time steps
This could easily be implemented in the DimensionsWidget
of the formatoptions widget for scalar coordinates
Panoply and other software pieces have that.
When I start psyplot on mistral.dkrz.de from my laptop, I get these error messages.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version
That can be fixed following
https://unix.stackexchange.com/questions/429760/opengl-rendering-with-x11-forwarding
On the mac (command line)
quartz-wm --help
will yield something like (default: org.xquartz.X11)
in its lowest line of output. Use that output in
defaults write org.xquartz.X11(or whatever you got) enable_iglx -bool true 3
restart Xquartz
From the figures widget, one should be able to select the current subproject
It is useful to select and update all the plots in one specific figure
This should be implemented as a context menu via to actions: select arrays
and add to selection
. The behavior should also depend on whether one clicks on the figure or one of the arrays.
psyplot
psyplot gui crashes upon launch
psyplot gui opens
Attribute Qt::AA_UseSoftwareOpenGL must be set before QCoreApplication is created.
QWidget: Must construct a QApplication before a QWidget
[1] 3285 IOT instruction (core dumped) psyplot tests/icon_test.nc
psyplot -aV
psyplot:
requirements:
matplotlib: 3.5.1
numpy: 1.22.3
pandas: 1.4.1
python: 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0]
xarray: 0.20.1
version: 1.4.2+16.g9a1f4f8
psyplot_gui:
requirements:
pyqt: 5.15.6
qt: 5.15.2
qtconsole: 5.2.2
version: 1.4.0
I packaged psyplot
and psyplot-gui
into the AUR.
The above result is the same also when just using pip install psyplot psyplot-gui
.
OS: Manjaro
No code needed to be shown.
Using the GUI of psyplot is somehow frustating for quantities you want to visualize with a range symmetric about zero. There is no colourbar with white at the center and useful colors at the left and right end.
Extend the colourbars by those of ncview. That would be really advantageous.
No code can be shown here.
If I want to manually set the colourbar using the GUI, I really get in trouble when I want to set an range indicator from e.g. -100 to 100. If I enter -100, I get an error message related to a a conversion between numeric values and string. There seems to be the problem that your program is instanteneously converting each input the field 'min' to a numeric value.
I would expect that the min field is evaluated only at the end of my input or after pressing 'Enter' or after clicking on a button.
The dataset variable descriptions shown in the dataset tree (implemented in 0cf03ba) are useless. Instead it should only list the meta attributes and the open plots
If there is a long variable description, the text editor prevents scrolling the variable.
The string representation of the variable is shown in a multi-line label. This causes problems when the user wants to scroll as it is not fluent
The xarray-representation should only be displayed in the tooltip. The tree should list the attributes, encoding and arrays that plot this variable
This repository needs to be moved to the psyplot github organization. The issue will be closed when everything is setup
Links to other psyplot projects fixed
Add buttons to update dimensions and animate them
Particularly for time, this better helps to investigate changing behavior of a variable (see also https://github.com/Chilipp/psyplot/issues/10)
It is straight-forward to introduce some kind of >
and <
buttons. >>
and <<
however are more tricky because of the event loop. If we do something like
for t in range(10):
sp.update(time=t)
we would not see anything updating because matplotlib does the drawing after the loop. Maybe one can circumvent this by spawning the loop in a separate process, but this needs to be tested.
ncview has buttons like this
Pinging @MuellerSeb
Revert c8e50da when ipython/ipykernel#489 is implemented
When the build directory for the help is on another drive than the library, psyplot crashes
Very likely due to the same reason as in spyder-ide/spyder#6549, sphinx cannot handle it when the temporary build directory is on another drive on Windows. This affects sphinx=2.2.0
. It is fixed by downgrading to sphinx=1.7.5
.
The dataset content should rather be displayed in the DatasetViewer than a QTreeWidget
One cannot really see anything in the QTreeWidget
using the default layout
Each dataset is one topLevelItem in the tree with one child for the variables and one for the coordinates.
That should be turned into a table with two columns: one for the psyplot.data.DatasetAccessor.num
and one for the file name (or None
). The variables, etc. should than be displayed in the DatasetViewer
(https://github.com/Chilipp/psyplot-gui/issues/3) if the user clicks on a row
install psyplot via
conda create -n test -c psyplot/label/master -c conda-forge psyplot-gui
conda activate test
psyplot
the GUI is not starting (see also Chilipp/straditize#19)
psyplot
Attribute Qt::AA_UseSoftwareOpenGL must be set before QCoreApplication is created.
Traceback (most recent call last):
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 535, in get
value = obj._trait_values[self.name]
KeyError: 'iopub_socket'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 535, in get
value = obj._trait_values[self.name]
KeyError: 'iopub_thread'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\SommerP\Miniconda3\envs\test\Scripts\psyplot-script.py", line 10, in <module>
sys.exit(main())
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\psyplot\__main__.py", line 48, in main
parser.parse_known2func(args)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\funcargparse\__init__.py", line 930, in parse_known2func
return func(**kws), remainder
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\psyplot_gui\__init__.py", line 256, in start_app
mainwindow = MainWindow.run(fnames, project, engine, plot_method, name,
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\psyplot_gui\main.py", line 1039, in run
mainwindow = cls(show=show)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\psyplot_gui\main.py", line 145, in __init__
self.console = ConsoleWidget(self)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\psyplot_gui\console.py", line 105, in __init__
kernel_manager.start_kernel(show_banner=False)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\ipykernel\inprocess\manager.py", line 46, in start_kernel
self.kernel = InProcessKernel(parent=self, session=self.session)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\ipykernel\inprocess\ipkernel.py", line 72, in __init__
super(InProcessKernel, self).__init__(**traits)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\ipykernel\ipkernel.py", line 71, in __init__
self.shell.displayhook.pub_socket = self.iopub_socket
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 575, in __get__
return self.get(obj, cls)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 538, in get
default = obj.trait_defaults(self.name)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 1577, in trait_defaults
return self._get_trait_default_generator(names[0])(self)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 975, in __call__
return self.func(*args, **kwargs)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\ipykernel\inprocess\ipkernel.py", line 67, in _default_iopub_socket
return self.iopub_thread.background_socket
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 575, in __get__
return self.get(obj, cls)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 538, in get
default = obj.trait_defaults(self.name)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 1577, in trait_defaults
return self._get_trait_default_generator(names[0])(self)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\traitlets\traitlets.py", line 975, in __call__
return self.func(*args, **kwargs)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\ipykernel\inprocess\ipkernel.py", line 59, in _default_iopub_thread
thread = IOPubThread(self._underlying_iopub_socket)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\ipykernel\iostream.py", line 71, in __init__
self._setup_event_pipe()
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\ipykernel\iostream.py", line 90, in _setup_event_pipe
self._event_puller = ZMQStream(pipe_in, self.io_loop)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\zmq\eventloop\zmqstream.py", line 127, in __init__
self._init_io_state()
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\zmq\eventloop\zmqstream.py", line 552, in _init_io_state
self.io_loop.add_handler(self.socket, self._handle_events, self.io_loop.READ)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\site-packages\tornado\platform\asyncio.py", line 100, in add_handler
self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
File "C:\Users\SommerP\Miniconda3\envs\test\lib\asyncio\events.py", line 501, in add_reader
raise NotImplementedError
NotImplementedError
psyplot -aV
psyplot:
requirements:
matplotlib: 3.3.1
numpy: 1.19.1
pandas: 1.1.2
python: 3.8.5 | packaged by conda-forge | (default, Aug 29 2020, 00:43:28) [MSC
v.1916 64 bit (AMD64)]
xarray: 0.16.0
version: 1.3.0
psyplot_gui:
requirements:
pyqt: 5.12.3
qt: 5.12.5
qtconsole: 4.7.7
version: 1.3.0
# Name Version Build Channel
alabaster 0.7.12 py_0 conda-forge
babel 2.8.0 py_0 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.0 py_2 conda-forge
backports.functools_lru_cache 1.6.1 py_0 conda-forge
brotlipy 0.7.0 py38h1e8a9f7_1000 conda-forge
ca-certificates 2020.6.20 hecda079_0 conda-forge
certifi 2020.6.20 py38h32f6830_0 conda-forge
cffi 1.14.1 py38hba49e27_0 conda-forge
chardet 3.0.4 py38h32f6830_1006 conda-forge
colorama 0.4.3 py_0 conda-forge
cryptography 3.1 py38hba49e27_0 conda-forge
cycler 0.10.0 py_2 conda-forge
decorator 4.4.2 py_0 conda-forge
docrep 0.3.1 pyh9f0ad1d_0 conda-forge
docutils 0.16 py38h32f6830_1 conda-forge
entrypoints 0.3 py38h32f6830_1001 conda-forge
fasteners 0.14.1 py_3 conda-forge
freetype 2.10.2 hd328e21_0 conda-forge
funcargparse 0.2.2 py_0 conda-forge
icu 67.1 h33f27b4_0 conda-forge
idna 2.10 pyh9f0ad1d_0 conda-forge
imagesize 1.2.0 py_0 conda-forge
intel-openmp 2020.1 216
ipykernel 5.3.4 py38h5ca1d4c_0 conda-forge
ipython 7.18.1 py38h1cdfbd6_0 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
jedi 0.15.2 py38_0 conda-forge
jinja2 2.11.2 pyh9f0ad1d_0 conda-forge
jpeg 9d he774522_0 conda-forge
jupyter_client 5.3.4 py38_1 conda-forge
jupyter_core 4.6.3 py38h32f6830_1 conda-forge
kiwisolver 1.2.0 py38heaebd3c_0 conda-forge
libblas 3.8.0 16_mkl conda-forge
libcblas 3.8.0 16_mkl conda-forge
libclang 10.0.1 default_hf44288c_1 conda-forge
liblapack 3.8.0 16_mkl conda-forge
libpng 1.6.37 ha81a0f5_2 conda-forge
libsodium 1.0.17 h2fa13f4_0 conda-forge
libtiff 4.1.0 h885aae3_6 conda-forge
lz4-c 1.9.2 h62dcd97_2 conda-forge
markupsafe 1.1.1 py38h9de7a3e_1 conda-forge
matplotlib 3.3.1 1 conda-forge
matplotlib-base 3.3.1 py38hfb9ee82_1 conda-forge
mkl 2020.1 216
monotonic 1.5 py_0 conda-forge
numpy 1.19.1 py38h72c728b_0 conda-forge
olefile 0.46 py_0 conda-forge
openssl 1.1.1g he774522_1 conda-forge
packaging 20.4 pyh9f0ad1d_0 conda-forge
pandas 1.1.2 py38h7ae7562_0 conda-forge
parso 0.5.2 py_0
pickleshare 0.7.5 py38h32f6830_1001 conda-forge
pillow 7.2.0 py38h7011068_1 conda-forge
pip 20.2.3 py_0 conda-forge
prompt-toolkit 3.0.7 py_0 conda-forge
psyplot 1.3.0 py38_139_g152bf55_master_cf psyplot/label/master
psyplot-gui 1.3.0 py38_63_gf59bc04_master_cf psyplot/label/master
pycparser 2.20 pyh9f0ad1d_2 conda-forge
pygments 2.7.0 py_0 conda-forge
pyopenssl 19.1.0 py_1 conda-forge
pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge
pyqt 5.12.3 py38h6538335_1 conda-forge
pyqt5-sip 4.19.18 pypi_0 pypi
pyqtwebengine 5.12.1 pypi_0 pypi
pysocks 1.7.1 py38h32f6830_1 conda-forge
python 3.8.5 h60c2a47_7_cpython conda-forge
python-dateutil 2.8.1 py_0 conda-forge
python_abi 3.8 1_cp38 conda-forge
pytz 2020.1 pyh9f0ad1d_0 conda-forge
pywin32 227 py38hfa6e2cd_0 conda-forge
pyyaml 5.3.1 py38h9de7a3e_0 conda-forge
pyzmq 19.0.2 py38h77b9d75_0 conda-forge
qt 5.12.6 hb2cf2c5_0 conda-forge
qtconsole 4.7.7 pyh9f0ad1d_0 conda-forge
qtpy 1.9.0 py_0 conda-forge
requests 2.24.0 pyh9f0ad1d_0 conda-forge
setuptools 49.6.0 py38h32f6830_0 conda-forge
six 1.15.0 pyh9f0ad1d_0 conda-forge
snowballstemmer 2.0.0 py_0 conda-forge
sphinx 3.2.1 py_0 conda-forge
sphinx_rtd_theme 0.5.0 pyh9f0ad1d_0 conda-forge
sphinxcontrib-applehelp 1.0.2 py_0 conda-forge
sphinxcontrib-devhelp 1.0.2 py_0 conda-forge
sphinxcontrib-htmlhelp 1.0.3 py_0 conda-forge
sphinxcontrib-jsmath 1.0.1 py_0 conda-forge
sphinxcontrib-qthelp 1.0.3 py_0 conda-forge
sphinxcontrib-serializinghtml 1.1.4 py_0 conda-forge
sqlite 3.33.0 he774522_0 conda-forge
tk 8.6.10 he774522_0 conda-forge
tornado 6.0.4 py38hfa6e2cd_0 conda-forge
traitlets 5.0.4 py_0 conda-forge
urllib3 1.25.10 py_0 conda-forge
vc 14.1 h869be7e_1 conda-forge
vs2015_runtime 14.16.27012 h30e32a0_2 conda-forge
wcwidth 0.2.5 pyh9f0ad1d_1 conda-forge
wheel 0.35.1 pyh9f0ad1d_0 conda-forge
win_inet_pton 1.1.0 py38_0 conda-forge
wincertstore 0.2 py38_1003 conda-forge
xarray 0.16.0 py_0 conda-forge
xz 5.2.5 h62dcd97_1 conda-forge
yaml 0.2.5 he774522_0 conda-forge
zeromq 4.3.2 ha925a31_3 conda-forge
zlib 1.2.11 h62dcd97_1009 conda-forge
zstd 1.4.5 h1f3a1b7_2 conda-forge
active environment : test
active env location : C:\Users\SommerP\Miniconda3\envs\test
shell level : 2
user config file : C:\Users\SommerP\.condarc
populated config files : C:\Users\SommerP\.condarc
conda version : 4.8.4
conda-build version : 3.20.2
python version : 3.8.3.final.0
virtual packages :
base environment : C:\Users\SommerP\Miniconda3 (writable)
channel URLs : https://conda.anaconda.org/psyplot/label/master/win-64
https://conda.anaconda.org/psyplot/label/master/noarch
https://conda.anaconda.org/psyplot/win-64
https://conda.anaconda.org/psyplot/noarch
https://conda.anaconda.org/chilipp/win-64
https://conda.anaconda.org/chilipp/noarch
https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : C:\Users\SommerP\Miniconda3\pkgs
C:\Users\SommerP\.conda\pkgs
C:\Users\SommerP\AppData\Local\conda\conda\pkgs
envs directories : C:\Users\SommerP\Miniconda3\envs
C:\Users\SommerP\.conda\envs
C:\Users\SommerP\AppData\Local\conda\conda\envs
platform : win-64
user-agent : conda/4.8.4 requests/2.23.0 CPython/3.8.3 Windows/10 Windows/10.0.18362
administrator : False
netrc file : None
offline mode : False
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.