Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ishanoshada/matplot3dex
A Matplotlib 3D Extension package for enhanced data visualization
https://github.com/ishanoshada/matplot3dex
data data-science matplotlib python-packages scikit-learn
Last synced: about 1 month ago
JSON representation
A Matplotlib 3D Extension package for enhanced data visualization
- Host: GitHub
- URL: https://github.com/ishanoshada/matplot3dex
- Owner: Ishanoshada
- License: mit
- Created: 2023-11-21T09:52:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-21T12:02:46.000Z (about 1 year ago)
- Last Synced: 2024-03-29T15:04:13.057Z (9 months ago)
- Topics: data, data-science, matplotlib, python-packages, scikit-learn
- Language: Python
- Homepage: https://pypi.org/project/Matplot3DEx/
- Size: 13.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Matplot3DEx Documentation
### Table of Contents
1. [Overview](#overview)
2. [Installation](#installation)
3. [Usage](#usage)
- [Example: 3D Surface Plot](#example-3d-surface-plot)
- [Example: 3D Wireframe Plot](#example-3d-wireframe-plot)
- [Example: 3D Bar Plot](#example-3d-bar-plot)
4. [Classes](#classes)
5. [Advanced Features](#advanced-features)
- [Data Science Module](#data-science-module)
- [Math Module](#math-module)
- [Add-Ons Module](#add-ons-module)
6. [More Usage](#more-usage)
- [Example: 3D Scatter Plot](#example-3d-scatter-plot-1)
- [Example: 3D Surface Plot](#example-3d-surface-plot-1)
- [Example: 2D Heatmap](#example-2d-heatmap)
- [Example: Animated 3D Scatter Plot](#example-animated-3d-scatter-plot)
- [Example: 2D Hexbin Plot](#example-2d-hexbin-plot)
- [Example: 3D Quiver Plot](#example-3d-quiver-plot)## Overview
Matplot3DEx is an extension of Matplotlib, providing a simplified API for creating a variety of 3D and 2D plots with enhanced customization options. This package aims to facilitate the creation of visually appealing and informative plots for data analysis and visualization tasks.
## Installation
To install Matplot3DEx, use the following command:
```bash
pip install Matplot3DEx
```## Usage
### Example: 3D Surface Plot
```python
from Matplot3DEx import Matplot3DEx
import numpy as np# Create a meshgrid for the surface plot
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = x**2 - y**2# Create a 3D surface plot
surface_plot = Matplot3DEx.Surface3D(x, y, z, title='3D Surface Plot', xlabel='X-axis', ylabel='Y-axis', zlabel='Z-axis')
surface_plot.show()
```
![ex1](https://github.com/Ishanoshada/Ishanoshada/blob/main/ss/mex1.png?raw=true)### Example: 3D Wireframe Plot
```python
from Matplot3DEx import Matplot3DEx
import numpy as np# Create a meshgrid for the wireframe plot
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = x**2 - y**2# Create a 3D wireframe plot
wireframe_plot = Matplot3DEx.Wireframe3D(x, y, z, title='3D Wireframe Plot', xlabel='X-axis', ylabel='Y-axis', zlabel='Z-axis')
wireframe_plot.show()
```
![ex2](https://github.com/Ishanoshada/Ishanoshada/blob/main/ss/Untitled.png?raw=true)### Example: 3D Bar Plot
```python
from Matplot3DEx import Matplot3DEx# Sample data for 3D bar plot
x = [1, 2, 3, 4, 5]
y = [2, 3, 4, 5, 6]
z = [3, 4, 5, 6, 7]# Dimensions of the bars
dx = 0.8
dy = 0.8
dz = [1, 1, 1, 1, 1]# Create a 3D bar plot
bar_plot = Matplot3DEx.Bar3D(x, y, z, dx, dy, dz, title='3D Bar Plot', xlabel='X-axis', ylabel='Y-axis', zlabel='Z-axis')
bar_plot.show()
```
![ex3](https://github.com/Ishanoshada/Ishanoshada/blob/main/ss/mex3.png?raw=true)## Classes
The Matplot3DEx package includes the following classes, each designed for specific types of plots:
| Class | Description |
|-----------------------------------|---------------------------------------------------------|
| `Matplot3DEx.BasePlot` | Base class for common plot settings (title, labels). |
| `Matplot3DEx.Base3DPlot` | Extension of `BasePlot` for 3D plots with Z-axis labels.|
| `Matplot3DEx.Scatter3D` | 3D scatter plot with customizable color and markers. |
| `Matplot3DEx.Surface3D` | 3D surface plot with adjustable colormap and transparency. |
| `Matplot3DEx.Wireframe3D` | 3D wireframe plot with customizable color and linewidth.|
| `Matplot3DEx.Bar3D` | 3D bar plot with customizable dimensions and color. |
| `Matplot3DEx.Quiver3D` | 3D quiver plot for vector visualization. |
| `Matplot3DEx.Contour3D` | 3D contour plot with adjustable colormap and levels. |
| `Matplot3DEx.Heatmap2D` | 2D heatmap plot with customizable colormap. |
| `Matplot3DEx.AnimatedScatter3D` | Animated 3D scatter plot for dynamic data visualization. |
| `Matplot3DEx.Boxplot2D` | 2D box plot with customizable appearance. |
| `Matplot3DEx.Hexbin2D` | 2D hexbin plot with options for gridsize and colormap. |
| `Matplot3DEx.TriangularMesh3D` | 3D triangular mesh plot with adjustable colormap. |
| `Matplot3DEx.Streamline3D` | 3D streamline plot for visualizing vector fields. |
| `Matplot3DEx.ColorSizeScatter2D` | 2D scatter plot with color and size coding. |
| `Matplot3DEx.GroupedBoxplot2D` | Grouped 2D box plot for comparing categories. |
| `Matplot3DEx.PairwiseScatterplotMatrix` | Pairwise scatterplot matrix for exploring relationships. |
| `Matplot3DEx.CorrelationHeatmap` | Heatmap for visualizing correlation matrices. |
| `Matplot3DEx.HistogramWithKDE` | Histogram plot with Kernel Density Estimation (KDE). |
| `Matplot3DEx.ViolinPlot` | Violin plot for visualizing distribution and density. |
| `Matplot3DEx.ParametricCurve` | 2D plot of a parametric curve. |
| `Matplot3DEx.PolarRose` | Polar plot representing a rose curve. |
| `Matplot3DEx.ParametricSurface3D` | 3D parametric surface plot. |
| `Matplot3DEx.SaddleSurface` | 3D plot of a saddle surface. |
| `Matplot3DEx.QuaternionRotation` | 3D plot of a vector rotation using quaternions. |
| `Matplot3DEx.TimeSeriesRollingAverage` | Time series plot with rolling average. |
| `Matplot3DEx.HistogramOutlierDetection` | Histogram with outlier detection. |
| `Matplot3DEx.ScatterRegressionPlot` | Scatter plot with linear regression line. |
| `Matplot3DEx.StackedAreaTimeSeries` | Stacked area plot for time series data. |
| `Matplot3DEx.ConfusionMatrixHeatmap` | Heatmap for visualizing confusion matrices. |## Advanced Features
Matplot3DEx also provides advanced features for specific use cases:
- **Data Science Module**: Includes classes for statistical analysis and data exploration.
- **Math Module**: Incorporates mathematical plots and functions for mathematical visualizations.
- **Add-Ons Module**: Additional classes that extend the functionality of Matplot3DEx.## More Usage
### Example: 3D Scatter Plot
```python
import numpy as np
from Matplot3DEx import Matplot3DEx# Generate sample data
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)# Create a 3D scatter plot
scatter_plot = Matplot3DEx.Scatter3D(x, y, z, title='3D Scatter Plot', xlabel='X-axis', ylabel='Y-axis', zlabel='Z-axis')
scatter_plot.show()
```### Example: 3D Surface Plot
```python
import numpy as np
from Matplot3DEx import Matplot3DEx# Generate sample data
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = x**2 - y**2# Create a 3D surface plot
surface_plot = Matplot3DEx.Surface3D(x, y, z, title='3D Surface Plot', xlabel='X-axis', ylabel='Y-axis', zlabel='Z-axis')
surface_plot.show()
```### Example: 2D Heatmap
```python
from Matplot3DEx import Matplot3DEx
import numpy as np# Generate sample data
data = np.random.rand(10, 10)# Create a 2D heatmap
heatmap_plot = Matplot3DEx.Heatmap2D(data, title='2D Heatmap', xlabel='X-axis', ylabel='Y-axis')
heatmap_plot.show()
```### Example: Animated 3D Scatter Plot
```python
import numpy as np
from Matplot3DEx import Matplot3DEx# Generate sample data
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)# Create an animated 3D scatter plot
animated_scatter = Matplot3DEx.AnimatedScatter3D(x, y, z, title='Animated 3D Scatter Plot', xlabel='X-axis', ylabel='Y-axis', zlabel='Z-axis')
animated_scatter.animate(frames=50, interval=100)
```### Example: 2D Hexbin Plot
```python
import numpy as np
from Matplot3DEx import Matplot3DEx# Generate sample data
x = np.random.normal(size=1000)
y = np.random.normal(size=1000)# Create a 2D hexbin plot
hexbin_plot = Matplot3DEx.Hexbin2D(x, y, gridsize=30, cmap='viridis')
hexbin_plot.show()
```### Example: 3D Quiver Plot
```python
import numpy as np
from Matplot3DEx import Matplot3DEx# Generate sample data
x = np.linspace(-5, 5, 20)
y = np.linspace(-5, 5, 20)
z = np.linspace(-5, 5, 20)
x, y, z = np.meshgrid(x, y, z)
u = np.sin(x + y + z)
v = np.cos(x - y - z)
w = np.sin(2 * x)# Create a 3D quiver plot
quiver_plot = Matplot3DEx.Quiver3D(x, y, z, u, v, w, title='3D Quiver Plot', xlabel='X-axis', ylabel='Y-axis', zlabel='Z-axis')
quiver_plot.show()
```## Contributing
If you find any issues or have suggestions for improvements, feel free to contribute! Visit the [GitHub repository](https://github.com/ishanoshada/matplot3dex) for more details.
**Repository Views** ![Views](https://profile-counter.glitch.me/matp3D/count.svg)
## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/ishanoshada/matplot3dex/blob/main/LICENSE) file for details.