Animate a timelapse of word cloud
Project description
AnimatedWordCloud ver 1.0.4
UNDER CONSTRUCTION
AnimatedWordCloud animates the timelapse of your words vector.
Examples!
Using Elon Musk's tweets.
(C) Elon Musk
How to use?
Requirements
Python (3.8 <= version <= 3.12)
install
BE CAREFUL of the name
❌AnimatedWordCloud
✅AnimatedWordCloudTimelapse
pip install AnimatedWordCloudTimelapse
coding
See Example Notebook for details
Using default configuration
from AnimatedWordCloud import animate
# data must be list[("time name", dict[str, float])]
timelapse_wordvector = [
(
"time_0", #time stamp
{
"hanshin":0.334, #word -> weight
"chiba":0.226
}
),
(
"time_1",
{
"hanshin":0.874,
"fujinami":0.609
}
),
(
"time_2",
{
"fujinami":0.9,
"major":0.4
}
)
]
# animate!
# the animation gif path is in this variable!
path = animate(timelapse_wordvector)
Editing configuration
from AnimatedWordCloud import animate, Config
config = Config(
what_you_want_to_edit = editing_value
)
timelapse = # adding time lapse data
#give the config to second parameter
animate(timelapse, config)
Parameters of Config
All has default value, so just edit what you need
parameter name | type | meaning |
---|---|---|
font_path | str | Path to the font file. |
output_path | str | Parh of the output directory |
max_words | int | max number of the words in the screen |
max_font_size | int | Maximum font size of the word |
min_font_size | int | Minimum font size of the word |
image_width | int | Width of the image |
image_height | int | Height of the image |
background_color | str | Background color. This is based on Pillow.Image.new() |
color_map | str | color map used for coloring words This is based on matplotlib colormap |
allocation_strategy | str(literal) | allocation algorithm method. This will change the allocation of the words in the output. There is "magnetic" now. |
image_division | int | precision of allocation calculation. Higher the preciser, but calculation slower |
verbosity | str(literal) | logging. silent: nothing minor: bars to know the progress debug: all progress. noisy |
transition_symbol | str | written in the image |
starting_time_stamp | str | time stamp of the first frame (before the first time stamp in the input timelapse data) |
duration_per_interpolation_frame | int | milliseconds per interpolation frame |
duration_per_static_frame | int | milliseconds per staic (frame correspond to timestamp of wordvector) frame |
n_frames_for_interpolation | int | how many frames will be generated for interpolation between each frames |
interpolation_method | str(literal) | The method of making movement There is "linear" now |
drawing_time_stamp | bool | Whether to draw time stamp on the image |
time_stamp_color | str | Color of the time stamp. This is based on Pillow ImageColor |
time_stamp_font_size | int | Font size of the time stamp. If None(default), it will be set to 75% of max_font_size |
time_stamp_position | tuple[int, int] | Position of the time stamp. If None(default), it will be set to (image_width0.75, image_height0.75) which is right bottom. |
intermediate_frames_id | str | Static images of each frame of itermediate product will be saved as "{intermediateframes_id}{frame_number}.png". If None(default), this will be set randomly. |
Want to contribute?
Look at CONTRIBUTING.md first.
Maintainers
-
Konbraphat51: Head Author
-
SuperHotDogCat: Author
Want to support?
⭐Give this project a star⭐
This is our first OSS project, ⭐star⭐ would make us very happy⭐⭐⭐
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file AnimatedWordCloudTimelapse-1.0.4.zip
.
File metadata
- Download URL: AnimatedWordCloudTimelapse-1.0.4.zip
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f24c79bec29f9d8d9586e4a77082c157c039c38d0ba2cfbb4914d6aca71860 |
|
MD5 | a46bdff68a29c4f69c9a5be3bd988793 |
|
BLAKE2b-256 | 37f769ee18bb72d28dfe8277388625cc9b0d850582e37e2a3825854d114b90ed |