All Projects → CCampJr → SciPlot-PyQt

CCampJr / SciPlot-PyQt

Licence: other
A Matplotlib-wrapped user-interface for creating and editing publication-ready images and plots

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to SciPlot-PyQt

joypy
Joyplots in Python with matplotlib & pandas 📈
Stars: ✭ 418 (+1206.25%)
Mutual labels:  matplotlib, plotting
gopem
GUI for OPEM library
Stars: ✭ 20 (-37.5%)
Mutual labels:  pyqt5, matplotlib
tablexplore
Table analysis and plotting application written in PySide2/PyQt5
Stars: ✭ 89 (+178.13%)
Mutual labels:  pyqt5, plotting
Matplotlib 3d
Experimental 3D axis for matplotlib
Stars: ✭ 198 (+518.75%)
Mutual labels:  scientific-visualization, matplotlib
texfig
Utility to generate PGF vector files from Python's Matplotlib plots to use in LaTeX documents.
Stars: ✭ 58 (+81.25%)
Mutual labels:  matplotlib, plotting
Jkqtplotter
an extensive Qt5 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
Stars: ✭ 246 (+668.75%)
Mutual labels:  scientific-visualization, plotting
2021-bordeaux-dataviz
Scientific Visualization Crash Course (Python & Matplotlib)
Stars: ✭ 20 (-37.5%)
Mutual labels:  matplotlib, plotting
Pyvista
3D plotting and mesh analysis through a streamlined interface for the Visualization Toolkit (VTK)
Stars: ✭ 734 (+2193.75%)
Mutual labels:  scientific-visualization, plotting
PyCORN
A script to extract data from ÄKTA/UNICORN result-files (.res)
Stars: ✭ 30 (-6.25%)
Mutual labels:  scientific-visualization, plotting
Crawler4Caida
一个致力于用Python提高部门工作自动化水平的程序库!(包括数据采集、办公自动化、辅助研究、图网络、复杂系统、3D可视化等)
Stars: ✭ 82 (+156.25%)
Mutual labels:  pyqt5, matplotlib
planetMagFields
Routines to plot magnetic fields of planets in our solar system
Stars: ✭ 27 (-15.62%)
Mutual labels:  matplotlib, plotting
dufte
📈 Minimalistic Matplotlib style
Stars: ✭ 196 (+512.5%)
Mutual labels:  matplotlib, plotting
Ipyvolume
3d plotting for Python in the Jupyter notebook based on IPython widgets using WebGL
Stars: ✭ 1,696 (+5200%)
Mutual labels:  scientific-visualization, plotting
Lognplot
Plotting and logging of real-time data for desktop.
Stars: ✭ 45 (+40.63%)
Mutual labels:  pyqt5, plotting
Gdl
GDL - GNU Data Language
Stars: ✭ 104 (+225%)
Mutual labels:  scientific-visualization, plotting
gaitutils
Extract and visualize gait data
Stars: ✭ 28 (-12.5%)
Mutual labels:  pyqt5, matplotlib
tueplots
Figure sizes, font sizes, fonts, and more configurations at minimal overhead. Fix your journal papers, conference proceedings, and other scientific publications.
Stars: ✭ 103 (+221.88%)
Mutual labels:  scientific-visualization, matplotlib
AlphaPlot
📈 Application for statistical analysis and data visualization which can generate different types of publication quality 2D and 3D plots with extensive visual customization.
Stars: ✭ 140 (+337.5%)
Mutual labels:  scientific-visualization, plotting
EOmaps
A library to create interactive maps of geographical datasets
Stars: ✭ 193 (+503.13%)
Mutual labels:  matplotlib, plotting
labplot
LabPlot is a FREE, open source and cross-platform Data Visualization and Analysis software accessible to everyone.
Stars: ✭ 107 (+234.38%)
Mutual labels:  scientific-visualization, plotting
Travis CI Status AppVeyor CI Status PyPI Project Page PyPI - Python Version PyQt5 NIST Public Domain

SciPlot-PyQt: Publication-ready scientific plotting for Python

SciPlot-PyQt (aka SciPlot) is a user-interface/matplotlib wrapper built with PyQt5 that allows interactive plotting through an embedded matplotlib canvas. It enables fast and easy publication-ready plots and images:

  • Interactive plotting
  • Theme and style editing (TODO)
  • Figure saving and opening for later editing (TODO)

Dependencies

Note: These are the developmental system specs. Older versions of certain packages may work.

  • python >= 3.4
    • Tested with 3.6.7, 3.7.1
  • numpy
  • PyQT5 (5.5.* or 5.6.*)
    • Tested with 5.6, 5.8.1, 5.12
  • matplotlib (1.*, 2.*, 3.*)
  • Sphinx (1.5.2) (Only for building documentation)

Known Issues

  1. IPython: SciPlot has problems when imported and ran via sciplot.main() or %run from within IPython. It appears to work as expected when called through a normal Python interpreter.
  2. PyQt 5.7: There is a bug in PyQt 5.7.* that will prevent SciPlot's tables from showing the individual plot entries (see https://www.riverbankcomputing.com/pipermail/pyqt/2017-January/038483.html). Apparently, this will be fixed in 5.7.2.
    • As WinPython 3.5.2.3Qt5 and 3.5.2.2Qt5 use PyQt 5.7.*, it is advised to use WinPython 3.5.2.1Qt5 or 3.4.4.5Qt5 until the matter is sorted out.
    • Alternatively, one can uninstall pyqt5.7.* and force an install of <= 5.6.*.
  3. MATPLOTLIB 2.0: SciPlot version solder than 0.1.4 will crash with MPL 2.* as several changes have been made to the MPL API.
    • For v0.1.3, the dev-MPL2 branch should address those problems
    • v0.1.4 is a merge of v0.1.3 and the dev-MPL2 branch (with other updates)

Installation

Note: the installer only checks for the dependencies of matplotlib and numpy. PyQt5 is not checked for, though, it is also required. See Depencies above for more information and requirements.

Using pip (hard install)

# Only Python 3.* installed
pip install sciplot-pyqt

# If you have both Python 2.* and 3.* you may need
pip3 install sciplot-pyqt

Using pip (soft install [can update with git])

# Make new directory for sciplot-pyqt and enter it
# Clone from github
git clone https://github.com/CCampJr/SciPlot-PyQt.git

# Only Python 3.* installed
pip install -e .

# If you have both Python 2.* and 3.* you may need instead
pip3 install -e .

# To update in the future
git pull

Using setuptools

You will need to download the repository or clone the repository with git:

# Make new directory for sciplot-pyqt and enter it
# Clone from github
git clone https://github.com/CCampJr/SciPlot-PyQt.git

Perform the install without building the documentation:

python setup.py install

Perform the install and build the documentation (see dependencies above):

python setup.py build_sphinx
python setup.py install

Usage

import sciplot
sp = sciplot.main()

Note Sciplot-pyqt relies on an existing, active Qt5 QApplication instance to operate. Some versions of Matplotlib 1.5.* provide this, others do not. Matplotlib 2.* seems to always provide this functionality.

If you perform the examples below and just a non-repsonsive white window appears, follow up the plotting commands with:

sp.app.exec_()

Sciplot tests for this and will provide you with a message to your terminal:

No QApplication instance (this is common with certain
version of Matplotlib). Creating one.
You will need to exec manually after you finish plotting.

-----------Example---------------
import sciplot
sp = sciplot.main()

# Plot a line
sp.plot((0,1),(0,1))
# Start the QApplication
sp.app.exec_()

Example

sp.plot((0,1),(2,3),label='Line', x_label='X', y_label='Y', ls='--')
sp.fill_between((0,1),(1,2),(3,4),label='Fill Between', color='r', alpha=0.25)

./Screenshot.png

sp.hist(r, bins=100, label='Histogram', color=[0, .2, .3],
        x_label='Amplitude', y_label='Counts', alpha=0.5)

./Screenshot2.png

sp.imshow(r, clim=[25,75], cmap='viridis', label='Imshow', x_label='X (pix)',
          y_label='Y (pix)')

./Screenshot3.png

NONLICENSE

This software was developed at the National Institute of Standards and Technology (NIST) by employees of the Federal Government in the course of their official duties. Pursuant to Title 17 Section 105 of the United States Code, this software is not subject to copyright protection and is in the public domain. NIST assumes no responsibility whatsoever for use by other parties of its source code, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

Specific software products identified in this open source project were used in order to perform technology transfer and collaboration. In no case does such identification imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the products identified are necessarily the best available for the purpose.

Contact

Charles H Camp Jr: [email protected]

Contributors

Charles H Camp Jr, Mona Lee, Xavier Audier

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].