5 releases
0.1.7 | Jan 6, 2025 |
---|---|
0.1.6 | Jan 6, 2025 |
#66 in Visualization
650 downloads per month
235KB
4.5K
SLoC
DataViz π
A modular, customizable, and feature-rich 2D plotting library written in Rust. With DataViz, you can create a wide variety of plots tailored to your needs, supporting both raster (PNG) and vector (SVG) outputs. You can save and display(interactive or real-time) your DataViz figures.
Features
Supported Plot Types
- Bar Charts: Create grouped horizontal and vertical bar charts.
- Scatter Graphs: Visualize data points with various shapes (circle, square, triangle, etc.).
- Pie Charts: Represent data proportions as slices of a circle.
- Area Charts: Highlight trends with filled areas under data lines.
- Histograms: Analyze frequency distributions with dynamic bin calculations.
- Cartesian Graphs: Plot mathematical functions or datasets on a coordinate plane.
- Quadrant 1 Graphs: Focused plotting in the first quadrant for non-negative data.
Customization Options
- Title: Add meaningful titles to your plots.
- Axes Labels: Define X-axis and Y-axis labels.
- Dynamic Scaling: Automatically fit data within the plot dimensions.
- Colors: Customize colors for the background, axes, and data elements.
- Margins: Add space around the plot for better visibility.
- Line and Dot Styles: Customize line types (solid, dashed, dotted) and dot shapes (circle, square, cross, triangle).
Output Formats
- Raster (PNG): Save high-quality images of your plots.
- Vector (SVG): Generate scalable vector graphics for precision and scalability.
Interactive Capabilities
- Hover effects(Press C key to see it) and real-time updates.
Installation
Add the following dependencies to your Cargo.toml
file:
[dependencies]
dataviz = "0.1.6"
Examples
To see more examples you can visit: https://github.com/dataviz-rs/dataviz-examples
Usage Example
π Grouped Vertical Bar Chart Interactive Display Example Code
![](https://img.gs/czjpqfbdkz/500/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelgroupedbarchartdisplay/screenshots/interactivedisplay.png?raw=true)
π Grouped Vertical Bar Chart Implementatiton Using Figure Factory Source Code
![](https://img.gs/czjpqfbdkz/500/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelgroupedbarchartfigurefactory/screenshots/grouped_vertical_bar_chart.png?raw=true)
π Pixel Area Chart Real Time Display Example Code
![](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelareachartdisplay/screenshots/areachartrealtime.gif?raw=true)
![](https://img.gs/czjpqfbdkz/500/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelareachartdisplay/screenshots/areachartdisplay.png?raw=true)
π Pixel Cartesian Graph Real Time Display Example Code
![](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelcartesiandisplay/screenshots/cartesiangraphrealtime.gif?raw=true)
![](https://img.gs/czjpqfbdkz/500/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelcartesiandisplay/screenshots/cartesiangraphdisplay.png?raw=true)
π Pixel Histogram Real Time Display Example Code
![](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelhistogramdisplay/screenshots/histogramrealtime.gif?raw=true)
![](https://img.gs/czjpqfbdkz/500/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelhistogramdisplay/screenshots/histogramdisplay.png?raw=true)
π Pixel Pie Chart Real Time Display Example Code
![](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelpiechartdisplay/screenshots/piechartrealtime.gif?raw=true)
![](https://img.gs/czjpqfbdkz/500/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelpiechartdisplay/screenshots/piechart.png?raw=true)
π Pixel Quadrant 1 Graph Real Time Display Example Code
![](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelquadrant1graphdisplay/screenshots/quadrant1realtime.gif?raw=true)
![](https://img.gs/czjpqfbdkz/500/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelquadrant1graphdisplay/screenshots/quadrant1graph.png?raw=true)
π Pixel Scatter Graph Real Time Display Example Code
![](https://img.gs/czjpqfbdkz/full/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelscattergraphdisplay/screenshots/scatterrealtime.gif?raw=true)
![](https://img.gs/czjpqfbdkz/500/https://raw.githubusercontent.com/dataviz-rs/dataviz-examples/main/pixelscattergraphdisplay/screenshots/scatter_graph.png?raw=true)
π SVG Cartesian Graph Example Code
More Examples
PNG Outputs
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/cartesian_graph.png?raw=true)
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/grouped_horizontal_bar_chart.png?raw=true)
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/grouped_vertical_bar_chart.png?raw=true)
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/pie_chart.png?raw=true)
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/quadrant1_graph.png?raw=true)
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/scatter_graph.png?raw=true)
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/area_chart.png?raw=true)
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/histogram.png?raw=true)
![](https://img.gs/czjpqfbdkz/300/https://raw.githubusercontent.com/dataviz-rs/dataviz-screenshots/main/real_time.gif?raw=true)
SVG Outputs
License
This project is licensed under the MIT. See the LICENSE
file for details.
Contributing
We welcome contributions to make DataViz even better!
- Visit DataViz repository: https://github.com/dataviz-rs/dataviz
- Report bugs and suggest features through GitHub Issues.
- Submit pull requests for enhancements or fixes.
Letβs make data visualization in Rust easy and accessible!
Dependencies
~16MB
~321K SLoC