sjvisualizer is a data visualization and animation library for Python for time-series data.
Like this project? Please consider starring ⭐ the project on GitHub!
Or buying me a coffee. It will make my day! Buy me a Coffee
sjvisualizer is now available on pypi! Simply use pip to install it:
pip install sjvisualizer
Using sjvisualizer, you can create a basic data animation with one simple line of code.
Basic.Bar.mp4
from sjvisualizer import plot as plt
plt.bar(excel="data/DesktopOS.xlsx",
title="Desktop Operating System Market Share",
unit="%")
Basic.Pie.mp4
from sjvisualizer import plot as plt
plt.pie(excel="data/browsers.xlsx",
title="Desktop Browser Market Share",
unit="%")
Basic.Line.mp4
from sjvisualizer import plot as plt
colors = {
"United States": [
23,
60,
154
],
"Russia": [
255,
50,
50
]
}
plt.line(excel="data/military budget.xlsx",
title="Military Budget of Selected Countries",
sub_title="in millions of US$",
colors=colors)
Basic.Area.mp4
from sjvisualizer import plot as plt
colors = {
"United States": [
23,
60,
154
],
"Russia": [
255,
50,
50
]
}
plt.stacked_area(excel="data/Nuclear.xlsx",
title="Nuclear Warheads by Country",
colors=colors)
Currently sjvisualizer reads data from an Excel file. The format should be as shown in the picture below:
In this file the first column should contain the dates, and each subsequent column holds the data for the data categories, in this example the different countries.
The date can either be shown as just the year, or as a full date as shown below. In this case, please make sure that Excel recognises the cell as a date.
Using sjvisualizer, you can also mix and match chart types and positions like in the following example:
Cheese.mp4
Want to learn more about sjvisualizer:
sjvisualizer is a free and open-source data animation library, please include the following attribution in any publications you use it in.
Made with sjvisualizer, the open-source data animation library for Python
If you like this project, please concider supporting me using PayPal Buy me a Coffee.
Contributions are always welcome! A couple of ideas to contribute:
- Improve documentation of this project. I have been thinking of setting up a readthedocs page.
- Add additional example scripts. If you do so, please includy any data files and image files so that the example is fully running
- Add new chart types. I have uploaded an example skeleton of new chart types in Empty.py, this is a setup that should serve as a good starting point. (https://github.com/SjoerdTilmans/sjvisualizer/blob/main/sjvisualizer/Empty.py)
Before making any changes, please create your own development branch here on GitHub. Once ready submit a pull request and set me as reviewer!
sjvisualizer is released under the MIT License. See the LICENSE file for more details.
If you have any questions or suggestions regarding sjvisualizer, post it on my forum.