Data Visualization Library containing the Dribia Theme
MIT License
0
stars
0
forks
source link
readme
DriViz
| | |
|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| CI/CD | [![Tests](https://github.com/dribia/driviz/actions/workflows/test.yml/badge.svg)](https://github.com/dribia/driviz/actions/workflows/test.yml) [![Coverage Status](https://img.shields.io/codecov/c/github/dribia/driviz)](https://codecov.io/gh/dribia/driviz) [![Tests](https://github.com/dribia/driviz/actions/workflows/lint.yml/badge.svg)](https://github.com/dribia/driviz/actions/workflows/lint.yml) [![types - Mypy](https://img.shields.io/badge/types-Mypy-blue.svg)](https://github.com/python/mypy) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) |
| Package | [![PyPI](https://img.shields.io/pypi/v/driviz)](https://pypi.org/project/driviz/) ![PyPI - Downloads](https://img.shields.io/pypi/dm/driviz?color=blue&logo=pypi&logoColor=gold) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/driviz?logo=python&logoColor=gold) [![GitHub](https://img.shields.io/github/license/dribia/driviz?color=blue)](LICENSE) |
---
**Documentation**: https://dribia.github.io/driviz
**Source Code**: https://github.com/dribia/driviz
---
## Installation
This project resides in the Python Package Index (PyPI), so it can easily be installed with pip:
```console
pip install driviz
```
## Usage
```python
from driviz import theme
theme.enable()
```
### Examples
```python
import altair as alt
import numpy as np
import pandas as pd
import random
from driviz import theme
theme.enable()
variety = [f"V{i}" for i in range(10)]
site = [f"site{i:02d}" for i in range(14)]
k = 10000
df = pd.DataFrame(
data={
"yield": np.random.rand(k,),
"variety": random.choices(variety, k=k),
"site": random.choices(site, k=k),
}
)
selection = alt.selection_point(fields=["site"], bind="legend")
bars = (
alt.Chart(df)
.mark_bar()
.encode(
x=alt.X("sum(yield):Q", stack="zero"),
y=alt.Y("variety:N"),
color=alt.Color("site"),
opacity=alt.condition(
selection, alt.value(1), alt.value(0.2)
)
)
.properties(title="Example chart")
.add_params(selection)
)
text = (
alt.Chart(df)
.mark_text(dx=-15, dy=3, color="white")
.encode(
x=alt.X("sum(yield):Q", stack="zero"),
y=alt.Y("variety:N"),
detail="site:N",
text=alt.Text("sum(yield):Q", format=".1f")
)
)
chart = bars + text
chart.save(
"altair_example_barh.html"
)
```
## Contributing
[Poetry](https://python-poetry.org) is the best way to interact with this project, to install it,
follow the official [Poetry installation guide](https://python-poetry.org/docs/#installation).
With `poetry` installed, one can install the project dependencies with:
```console
poetry install
```
Then, to run the project unit tests:
```console
make test-unit
```
To run the linters (`ruff` and `mypy`):
```console
make lint
```
To apply all code formatting:
```console
make format
```
## License
`driviz` is distributed under the terms of the
[MIT](https://opensource.org/license/mit) license.
Check the [LICENSE](./LICENSE) file for further details.