GraphingLib

An object oriented wrapper combining the functionalities of Matplotlib and SciPy

MIT License

Downloads
127
Stars
2
GraphingLib - API changes for more coherent coding Latest Release

Published by yalap13 8 months ago

What's Changed

Highlights

  • New Line object
  • Various changes in the API :
    • Methods that return a GraphingLib object or a list of GraphingLib objects start with create_
    • Methods that return information on an object start with get_
    • To display a Figure or MultiFigure use show()
    • To save a Figure or MultiFigure use save()
    • Methods that add visual information to objects (histogram PDF, etc.) start with add_
    • Methods used to set properties not set in the object constructor start with set_
    • add_element() is now add_elements()
    • MultiFigure`s add_sub_figure() is now ``add_figure()``

More changes

  • A rotation can be applied to custom ticks
  • By default a Figure has no axis labels
  • Getting coordinates on a Curve is now separated from creating points on it
  • Axis limits can be specified for TwinAxis
  • Coordinates can be obtained from a Point with get_coordinates()

Bug fixes

  • Fixed bug where rcParams in MultiFigure were not carried over to subfigures
  • The get_area_between() fill_under_color is the same as the Curve color and not cycling independently
  • Self imports now working with Python 3.10
  • Fixed bug where rcParams were not set when passed to _prepare_figure()
GraphingLib - Matplotlib style support, new objects and styles, and advanced customization

Published by Oddball777 10 months ago

What's Changed

Highlights

  • Matplotlib styles are now supported (use "matplotlib" for the matplotlib default style)
  • New TwinAxis class to create 2 different x or y axes in the same Figure
  • New update_rc_params method on Figures and MultiFigures for full control of visual appearance
  • New customize_visual_style function for parameter specification of most common rc params
  • New shape objects: Rectangle, Circle, Arrow
  • Two new GL figure styles: "dark" and "dim"
  • New gl.get_color and gl.get_colors functions to access color cycle colors in figure_styles

More changes

  • Added calculate_Rsquared method to Fit objects
  • Dynamic figure_style specification now possible (can change style and re display the same Figure)
  • Hlines and Vlines now have a line_width parameter
  • Histogram: show_pdf is now its own method with more customization options
  • MultiFigures are now created from Figure objects. SubFigure class no longer exists
  • Heatmaps can now be created from points
  • Figure ticks can be changed to text with the set_ticks method
  • Can now remove axes in Figure
  • as_point_object option in get_point_at_x/y, intersection, etc. Returns tuple if False, Point object if True
  • Mirrored dunder method for operations on curves and scatter objects
  • Helper class methods for creating MultiFigures as rows, stacks, or grids
  • Many bug fixes

Full Changelog: https://github.com/GraphingLib/GraphingLib/compare/v1.2.2...v1.3.0

GraphingLib - Python 3.12 compatibility and more

Published by yalap13 about 1 year ago

What's Changed

  • Compatible with Python 3.12
  • Fixed the z_order that was not the same as the order the elements were added to the Figure/SubFigure in some cases
  • Added location and number of columns parameters for the general legend in MultiFigure

Full Changelog: https://github.com/GraphingLib/GraphingLib/compare/v1.2.1...v1.2.2

GraphingLib - Minor bug corrections

Published by yalap13 about 1 year ago

Corrected bugs

  • SubFigure placement is now separated into 4 parameters: start row, start column, number of rows spanned, number of columns spanned
  • Colors in the plain figure style's cycle are tweaked to be more visible on white background
  • The color of the fill_under in Curve.area_between can be set by fill_color
  • Plotting method for Curve and Scatter changed to errorbar so that managing cycling colors of Scatter and Curve and their errorbars
  • Labels removed for the residual curves of the Fit objects

Full Changelog: https://github.com/GraphingLib/GraphingLib/compare/v1.2.0...v1.2.1

GraphingLib - Figure style editor, stream plots, colour cycles and bug corrections

Published by yalap13 about 1 year ago

What's Changed

New documentation available at https://graphinglib.readthedocs.io/en/latest/

New features

  • New command-line interface to create and modify figure styles
  • Stream class allows the user to display stream plots
  • Table class allows the user to display data tables in Figures and SubFigures
  • Default colours for curves and scatters now using colour cycles
  • New option to remove axes in SubFigures
  • New option to add reference labels ("a)", "b)", "c)", etc.) next to SubFigures

Corrected bugs

  • Legends in MultiFigures are now separated in their respective SubFigures by default, and are outside all SubFigures if combined
  • Custom figure styles are automatically updated after a new GL version (to add info for new parameters or new classes)
  • Specifying only one of x_error or y_error is now possible in Curves and Scatters
  • Can now use the same object in two Figures/MultiFigures using different styles (only one style would show up previously)

New Contributors

Full Changelog: https://github.com/GraphingLib/GraphingLib/compare/v1.1.0...v1.2.0

GraphingLib - Curve operations, 2D plotting and Multifigures

Published by yalap13 about 1 year ago

New plottable objects in this version

  • Heatmap
  • VectorField
  • Multifigure (and Subfigure)

New features in this version

  • Curve arithmetics
  • Curve integration and differenciation
  • Curve intersection
  • Many other curve utilities

Minor bug fixes and improvements

  • Possibility to create multiple figures and display them one at a time
  • Improved behaviour in Jupyter Notebooks
  • Many other bug fixes and improvements
GraphingLib - Minor enhancements and bug fixes

Published by yalap13 over 1 year ago

What's Changed

  • Removed the obligation to specify error on x and y axis to add error bars on curves and scatters
  • Added possibility to write a label to a point while still displaying the coordinates
  • Correcting bug caused by Text entry absent in default styles
GraphingLib - First release

Published by Oddball777 over 1 year ago

This is the first release. Available classes are:

  • Curve
  • Scatter
  • Histogram
  • Heatmap
  • Figure
  • FitFromExponential, FitFromGaussian, FitFromLog, FitFromPolynomial, FitFromSine, FitFromSquareRoot, FitFromFunction
  • Hlines, Vlines
  • Point
  • Text