# Ishikawa: package to design ishikawa diagram based on matplotlib

## Project description

Author: Kaike Sa Teles Rocha Alves (adapted from matplotlib)

Ishikawa: package to design ishikawa diagram based on matplotlib developed by Kaike Alves adapted from matplotlib (https://matplotlib.org/stable/gallery/specialty_plots/ishikawa_diagram.html). 

    Author: Kaike Sa Teles Rocha Alves (PhD)
    Email: kaikerochaalves@outlook.com or kaike.alves@estudante.ufjf.br


Github repository: https://github.com/kaikerochaalves/Ishikawa.git

Cite:

## Description:

Ishikawa: package to design ishikawa diagram based on matplotlib.

## Instructions

To install the library use the command: 

    pip install ishikawa

To import type:

    from ishikawa.diagram import Ishikawa

Hyperparameters:

    data : dict
    A dictionary of problem categories and their associated causes.

    figsize : tuple, optional
    The size of the plot figure.

Example of Ishikawa:

    from ishikawa.diagram import Ishikawa

    # Define categories
    categories = {
        'Method': ['Time consumption', 'Cost', 'Procedures', 'Inefficient process', 'Sampling'],
        'Machine': ['Faulty equipment', 'Compatibility'],
        'Material': ['Poor-quality input', 'Raw materials', 'Supplier', 'Shortage'],
        'Measurement': ['Calibration', 'Performance', 'Wrong measurements'],
        'Environment': ['Bad conditions'],
        'People': ['Lack of training', 'Managers', 'Labor shortage', 'Procedures', 'Sales strategy']
    }

    # Create an instance of the diagram
    fishbone_diagram = Ishikawa(categories)
    
    # Call the draw method to generate the plot
    fishbone_diagram.draw()

    # Show the plot
    fishbone_diagram.plot_and_save()

Note: Do not use more than 6 categories or 5 causes per category. Otherwise you are going to have issues with formatting.

### Extra information

The fuzzy models are quite fast, but the genetic and ensembles are still a bit slow. If you think you can contribute to this project regarding the code, speed, etc., please, feel free to contact me and to do so.

Code of Conduct:

Please read the Code of Conduct for guidance.

Call for Contributions:

The project welcomes your expertise and enthusiasm!

Small improvements or fixes are always appreciated. If you are considering larger contributions to the source code, please contact by email first.