Name | fillwise JSON |
Version |
1.0.1
JSON |
| download |
home_page | None |
Summary | Visualize group data by filling images with color proportions. |
upload_time | 2025-07-24 01:31:06 |
maintainer | None |
docs_url | None |
author | Juncel |
requires_python | None |
license | MIT License
Copyright (c) 2025 Juncel Datinggaling
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. |
keywords |
image manipulation
data visualization
group comparison
visual encoding
charting library
visual storytelling
custom chart
mask fill
data art
python
|
VCS |
 |
bugtrack_url |
|
requirements |
numpy
Pillow
pandas
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|




# Fillwise <img src="https://raw.githubusercontent.com/j-ncel/Fillwise/refs/heads/main/assets/icon.png" width="50" alt="Fillwise Icon">
**Visualize group data by filling images with color proportions.**
Fillwise is a Python module for visualizing group data by filling images with color proportions. It can be used for custom charts, data art, and creative data storytelling.
---
<a href="https://coff.ee/jncel">
<img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" width="140" height="" alt="Buy Me a Coffee">
</a>
## Usage
```bash
pip install fillwise
```
```python
import pandas as pd
from fillwise import Fillwise
# Sample data
df = pd.DataFrame({
"Fruits": ["Apple", "Banana", "Cherry"],
"Counts": [20, 35, 45]
})
# Usage of Fillwise
fw = Fillwise(df, mask_path="cart.png", fill_style="horizontal")
# Save
fw.save("output.png")
# Display using system default image viewer
fw.show()
```
| Before | After |
| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="https://raw.githubusercontent.com/j-ncel/Fillwise/refs/heads/main/playground/samples/images/cart.png" width="250" alt="Before"> | <img src="https://raw.githubusercontent.com/j-ncel/Fillwise/refs/heads/main/playground/samples/images/cart_output.png" width="250" alt="After"> |
_Sample image credit from [UXWing](https://uxwing.com/cart-black-icon/)_.
_The data presented here are made-up only._
## Fillwise Output with Matplotlib
```python
# Usage of Fillwise
fw = Fillwise(df, image_path=image_path, fill_style="radial")
image = fw.render()
# Sample Plotting
fig, ax = plt.subplots()
ax.imshow(image)
ax.axis("off")
patches = [mpatches.Patch(color=color, label=label)
for color, label in zip(fw.colors, fw.labels)]
ax.set_title("Game Genre Preferences",
fontweight='bold', fontsize=16)
ax.legend(handles=patches, loc="center left", bbox_to_anchor=(1, 0.5),
frameon=True)
plt.tight_layout()
plt.show()
```
<img src="https://raw.githubusercontent.com/j-ncel/Fillwise/refs/heads/main/playground/samples/images/gamepad_output.png" width="500" alt="Matplotlib Sample">
_Sample image credit from [UXWing](https://uxwing.com/gamepad-icon/)_.
_The data presented here are made-up only._
## Fill Styles
Fillwise supports multiple fill styles to suit different image shapes and storytelling needs:
| Style | Description | Best For |
| ------------ | ----------------------------- | ---------------------- |
| `horizontal` | Fills left to right | Wide images like carts |
| `vertical` | Fills top to bottom | Tall silhouettes |
| `radial` | Fills outward from the center | Symmetrical shapes |
You can switch styles by setting `fill_style="..."` when creating a Fillwise instance.
## Image Masks
You can use any transparent PNG image as a mask. Fillwise fills only the visible (non-transparent) pixels.
```python
fw = Fillwise(df, image_path="your_mask.png", fill_style="horizontal")
```
---
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Attribution
Images used in examples are credited to [UXWing](https://uxwing.com).
Raw data
{
"_id": null,
"home_page": null,
"name": "fillwise",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "image manipulation, data visualization, group comparison, visual encoding, charting library, visual storytelling, custom chart, mask fill, data art, python",
"author": "Juncel",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c9/c0/7599a6f3a24e4ef8d7610a719138368a55f93d6fbda8b2fd887f202429fe/fillwise-1.0.1.tar.gz",
"platform": null,
"description": "\r\n\r\n\r\n\r\n\r\n# Fillwise <img src=\"https://raw.githubusercontent.com/j-ncel/Fillwise/refs/heads/main/assets/icon.png\" width=\"50\" alt=\"Fillwise Icon\">\r\n\r\n**Visualize group data by filling images with color proportions.**\r\n\r\nFillwise is a Python module for visualizing group data by filling images with color proportions. It can be used for custom charts, data art, and creative data storytelling.\r\n\r\n---\r\n\r\n<a href=\"https://coff.ee/jncel\">\r\n <img src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" width=\"140\" height=\"\" alt=\"Buy Me a Coffee\">\r\n</a>\r\n\r\n## Usage\r\n\r\n```bash\r\npip install fillwise\r\n```\r\n\r\n```python\r\nimport pandas as pd\r\nfrom fillwise import Fillwise\r\n\r\n# Sample data\r\ndf = pd.DataFrame({\r\n \"Fruits\": [\"Apple\", \"Banana\", \"Cherry\"],\r\n \"Counts\": [20, 35, 45]\r\n})\r\n\r\n# Usage of Fillwise\r\nfw = Fillwise(df, mask_path=\"cart.png\", fill_style=\"horizontal\")\r\n\r\n# Save\r\nfw.save(\"output.png\")\r\n\r\n# Display using system default image viewer\r\nfw.show()\r\n```\r\n\r\n| Before | After |\r\n| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |\r\n| <img src=\"https://raw.githubusercontent.com/j-ncel/Fillwise/refs/heads/main/playground/samples/images/cart.png\" width=\"250\" alt=\"Before\"> | <img src=\"https://raw.githubusercontent.com/j-ncel/Fillwise/refs/heads/main/playground/samples/images/cart_output.png\" width=\"250\" alt=\"After\"> |\r\n\r\n_Sample image credit from [UXWing](https://uxwing.com/cart-black-icon/)_.\r\n_The data presented here are made-up only._\r\n\r\n## Fillwise Output with Matplotlib\r\n\r\n```python\r\n# Usage of Fillwise\r\nfw = Fillwise(df, image_path=image_path, fill_style=\"radial\")\r\nimage = fw.render()\r\n\r\n# Sample Plotting\r\nfig, ax = plt.subplots()\r\nax.imshow(image)\r\nax.axis(\"off\")\r\n\r\npatches = [mpatches.Patch(color=color, label=label)\r\n for color, label in zip(fw.colors, fw.labels)]\r\nax.set_title(\"Game Genre Preferences\",\r\n fontweight='bold', fontsize=16)\r\nax.legend(handles=patches, loc=\"center left\", bbox_to_anchor=(1, 0.5),\r\n frameon=True)\r\n\r\nplt.tight_layout()\r\nplt.show()\r\n```\r\n\r\n<img src=\"https://raw.githubusercontent.com/j-ncel/Fillwise/refs/heads/main/playground/samples/images/gamepad_output.png\" width=\"500\" alt=\"Matplotlib Sample\">\r\n\r\n_Sample image credit from [UXWing](https://uxwing.com/gamepad-icon/)_.\r\n_The data presented here are made-up only._\r\n\r\n## Fill Styles\r\n\r\nFillwise supports multiple fill styles to suit different image shapes and storytelling needs:\r\n\r\n| Style | Description | Best For |\r\n| ------------ | ----------------------------- | ---------------------- |\r\n| `horizontal` | Fills left to right | Wide images like carts |\r\n| `vertical` | Fills top to bottom | Tall silhouettes |\r\n| `radial` | Fills outward from the center | Symmetrical shapes |\r\n\r\nYou can switch styles by setting `fill_style=\"...\"` when creating a Fillwise instance.\r\n\r\n## Image Masks\r\n\r\nYou can use any transparent PNG image as a mask. Fillwise fills only the visible (non-transparent) pixels.\r\n\r\n```python\r\nfw = Fillwise(df, image_path=\"your_mask.png\", fill_style=\"horizontal\")\r\n```\r\n\r\n---\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\r\n\r\n## Attribution\r\n\r\nImages used in examples are credited to [UXWing](https://uxwing.com).\r\n",
"bugtrack_url": null,
"license": "MIT License\r\n \r\n Copyright (c) 2025 Juncel Datinggaling\r\n \r\n Permission is hereby granted, free of charge, to any person obtaining a copy\r\n of this software and associated documentation files (the \"Software\"), to deal\r\n in the Software without restriction, including without limitation the rights\r\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n copies of the Software, and to permit persons to whom the Software is\r\n furnished to do so, subject to the following conditions:\r\n \r\n The above copyright notice and this permission notice shall be included in all\r\n copies or substantial portions of the Software.\r\n \r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n SOFTWARE.",
"summary": "Visualize group data by filling images with color proportions.",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/j-ncel/Fillwise",
"Repository": "https://github.com/j-ncel/Fillwise"
},
"split_keywords": [
"image manipulation",
" data visualization",
" group comparison",
" visual encoding",
" charting library",
" visual storytelling",
" custom chart",
" mask fill",
" data art",
" python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4bf3c1fa12f589b4f2f41d7d29b69424658602cc60dec58be3007593f6d4491f",
"md5": "df1e66fb6323620a82ebbf7c984260b9",
"sha256": "2452175bfc2c0acd9f8f78bd3d69e166c40abb0d381c8ff337cff6bce3659229"
},
"downloads": -1,
"filename": "fillwise-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "df1e66fb6323620a82ebbf7c984260b9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8080,
"upload_time": "2025-07-24T01:31:04",
"upload_time_iso_8601": "2025-07-24T01:31:04.880208Z",
"url": "https://files.pythonhosted.org/packages/4b/f3/c1fa12f589b4f2f41d7d29b69424658602cc60dec58be3007593f6d4491f/fillwise-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c9c07599a6f3a24e4ef8d7610a719138368a55f93d6fbda8b2fd887f202429fe",
"md5": "fe6b6db0a6067d1329e98d8e47e34a96",
"sha256": "5f6383381a1d220b26ce74b9600a620f6389b457d509eb962ee6bcd83771fb7c"
},
"downloads": -1,
"filename": "fillwise-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "fe6b6db0a6067d1329e98d8e47e34a96",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8366,
"upload_time": "2025-07-24T01:31:06",
"upload_time_iso_8601": "2025-07-24T01:31:06.440054Z",
"url": "https://files.pythonhosted.org/packages/c9/c0/7599a6f3a24e4ef8d7610a719138368a55f93d6fbda8b2fd887f202429fe/fillwise-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-24 01:31:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "j-ncel",
"github_project": "Fillwise",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "numpy",
"specs": []
},
{
"name": "Pillow",
"specs": []
},
{
"name": "pandas",
"specs": []
}
],
"lcname": "fillwise"
}