Skip to main content

No project description provided

Project description

MatplotLibAPI

MatplotLibAPI is a Python library that simplifies the process of creating various types of plots from pandas DataFrames. It provides a high-level API for generating bubble charts, network graphs, pivot tables, tables, time series plots, treemaps, and sunburst charts.

Installation

To install the library, you can use pip:

pip install MatplotLibAPI

Generating Sample Data

The examples in this README use sample data that can be generated by running the generate_sample_data.py script:

python scripts/generate_sample_data.py

This will create a data directory with CSV files for each plot type.

Usage

Here's a simple example of how to create a bubble chart using MatplotLibAPI with a sample CSV file:

import pandas as pd
import matplotlib.pyplot as plt
from MatplotLibAPI import fplot_bubble

# Load the sample data
df = pd.read_csv('data/bubble.csv')

# Generate the bubble chart
fig = fplot_bubble(df, label='country', x='gdp_per_capita', y='population', z='population', title='Country Statistics')

# Display the plot
plt.show()

Plot Types

The library supports the following plot types:

  • Bubble (Scatter plot)
  • Bar / Stacked Bar
  • Histogram + KDE
  • Box / Violin
  • Heatmap / Correlation Matrix
  • Area
  • Pie / Donut
  • Waffle
  • Sankey
  • Network (Graph)
  • Pivot
  • Table
  • Timeserie
  • Treemap
  • Sunburst

Examples with Sample Data

This repository includes a data directory with sample CSV files for each plot type. Here's how you can use them:

Bubble Chart

import pandas as pd
from MatplotLibAPI import fplot_bubble

df = pd.read_csv('data/bubble.csv')
fig = fplot_bubble(df, label='country', x='gdp_per_capita', y='life_expectancy', z='population')
fig.show()

Network Graph

import pandas as pd
from MatplotLibAPI import fplot_network

df = pd.read_csv('data/network.csv')
fig = fplot_network(df)
fig.show()

Bar / Stacked Bar

import pandas as pd
from MatplotLibAPI import fplot_bar

df = pd.read_csv('data/bar.csv')
fig = fplot_bar(df, category='product', value='revenue', group='region', stacked=True)
fig.show()

Histogram + KDE

import pandas as pd
from MatplotLibAPI import fplot_histogram_kde

df = pd.read_csv('data/histogram.csv')
fig = fplot_histogram_kde(df, column='waiting_time_minutes', bins=8, kde=True)
fig.show()

Box / Violin

import pandas as pd
from MatplotLibAPI import fplot_box_violin

df = pd.read_csv('data/box_violin.csv')
fig = fplot_box_violin(df, column='satisfaction_score', category='department', use_violin=True)
fig.show()

Heatmap / Correlation Matrix

import pandas as pd
from MatplotLibAPI import fplot_heatmap, fplot_correlation_matrix

heatmap_df = pd.read_csv('data/heatmap.csv')
correlation_df = pd.read_csv('data/correlation.csv')

fig_heatmap = fplot_heatmap(heatmap_df, index='month', columns='channel', values='engagements')
fig_corr = fplot_correlation_matrix(correlation_df)

fig_heatmap.show()
fig_corr.show()

Area

import pandas as pd
from MatplotLibAPI import fplot_area

df = pd.read_csv('data/area.csv')
fig = fplot_area(df, x='quarter', y='subscriptions', label='segment', stacked=True)
fig.show()

Pie / Donut

import pandas as pd
from MatplotLibAPI import fplot_pie_donut

df = pd.read_csv('data/pie.csv')
fig = fplot_pie_donut(df, category='device', value='sessions', donut=True)
fig.show()

Waffle

import pandas as pd
from MatplotLibAPI import fplot_waffle

df = pd.read_csv('data/waffle.csv')
fig = fplot_waffle(df, category='device', value='sessions')
fig.show()

Sankey

import pandas as pd
from MatplotLibAPI import fplot_sankey

df = pd.read_csv('data/sankey.csv')
fig = fplot_sankey(df, source='source', target='target', value='value')
fig.show()

Pivot Table

import pandas as pd
from MatplotLibAPI.Pivot import plot_pivoted_bars

df = pd.read_csv('data/pivot.csv')
ax = plot_pivoted_bars(data=df, label="category", x="date", y="value")
ax.figure.show()

Table

import pandas as pd
from MatplotLibAPI import fplot_table

df = pd.read_csv('data/table.csv')
fig = fplot_table(pd_df=df, cols=["col1", "col2"])
fig.show()

Timeseries Plot

import pandas as pd
from MatplotLibAPI import fplot_timeserie

df = pd.read_csv('data/timeserie.csv')
fig = fplot_timeserie(pd_df=df, label="group", x="date", y="value")
fig.show()

Treemap

import pandas as pd
from MatplotLibAPI import fplot_treemap

df = pd.read_csv('data/treemap.csv')
fig = fplot_treemap(pd_df=df, path="path", values="values")
fig.show()

Sunburst Chart

import pandas as pd
from MatplotLibAPI import fplot_sunburst

df = pd.read_csv('data/sunburst.csv')
fig = fplot_sunburst(df, labels="labels", parents="parents", values="values")
fig.show()

Word Cloud

import pandas as pd
from MatplotLibAPI import fplot_wordcloud

df = pd.read_csv('data/wordcloud.csv')
fig = fplot_wordcloud(df, text_column="word", weight_column="weight")
fig.show()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matplotlibapi-3.2.15.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matplotlibapi-3.2.15-py3-none-any.whl (41.3 kB view details)

Uploaded Python 3

File details

Details for the file matplotlibapi-3.2.15.tar.gz.

File metadata

  • Download URL: matplotlibapi-3.2.15.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for matplotlibapi-3.2.15.tar.gz
Algorithm Hash digest
SHA256 c01b6f08058f36c1700c07b5e0d017845eb5a13287a97c05023237338b187b71
MD5 b97ef781fb78452c1e5a98c5b80a745d
BLAKE2b-256 d694ce4240bb2c6a6eef0240dfd235b2910b5edc7ce281cf5385ff9f9e5f5e2e

See more details on using hashes here.

File details

Details for the file matplotlibapi-3.2.15-py3-none-any.whl.

File metadata

  • Download URL: matplotlibapi-3.2.15-py3-none-any.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for matplotlibapi-3.2.15-py3-none-any.whl
Algorithm Hash digest
SHA256 7660e467caa548030cafba736a6eb4aa14d0a20cf90a767b9f101a60ed30b0cb
MD5 66c7219595d03c71d69da36a80042fd2
BLAKE2b-256 1a3e1ea42797dc922d25d64594a80cdef1b2960bcfaaf004557e5ed3592ecb30

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page