Skip to main content

EmojiCloud: a Tool for Emoji Cloud Visualization

Project description

emoji-cloud-engine

Introduction

EmojiCloud is an open-source Python-based emoji cloud visualization tool that generates a quick and straightforward understanding of emojis from the perspective of frequency and importance. EmojiCloud is flexible enough to support diverse drawing shapes, such as rectangles, ellipses, and image masked canvases. We also follow inclusive and personalized design principles to cover the unique emoji designs from seven emoji vendors (e.g., Twitter, Apple, and Windows) and allow users to customize plotted emojis and background colors. We hope EmojiCloud can benefit the whole emoji community due to its flexibility, inclusiveness, and customizability.

Basic Usage

from EmojiCloud.plot import plot_dense_emoji_cloud
from EmojiCloud.emoji import EmojiManager
from EmojiCloud.canvas import EllipseCanvas, RectangleCanvas, MaskedCanvas
from EmojiCloud.vendors import TWIITER

# set emoji weights by a dict with key: emoji in unicode, value: weight
dict_weight = {'1f1e6-1f1e8': 1.1, '1f4a7': 1.2, '1f602': 1.3, '1f6f4': 1.4, '1f6f5': 1.5, '1f6f6': 1.6, '1f6f7': 1.7, '1f6f8': 1.8, '1f6f9': 1.9, '1f6fa': 2.0, '1f6fb': 2.1, '1f6fc': 2.2, '1f7e0': 2.3, '1f9a2': 2.4, '1f9a3': 2.5, '1f9a4': 2.6, '1f9a5': 2.7, '1f9a6': 2.8, '1f9a8': 2.9, '1f9a9': 3.0}

# emoji vendor 
emoji_list = EmojiManager.create_list_from_single_vendor(dict_weight, TWITTER)

# masked canvas 
print("Plotting masked cloud")
img_mask = 'twitter-logo.png'
thold_alpha_contour = 10 
contour_width = 5
contour_color = (0, 172, 238, 255)
saved_emoji_cloud_name = 'emoji_cloud_masked.png'
m_canvas = MaskedCanvas(img_mask, contour_width, contour_color, thold_alpha_contour)
im = plot_dense_emoji_cloud(m_canvas, emoji_list)
im.save(saved_emoji_cloud_name)

# rectangle canvas 
print("Plotting rectangle cloud")
canvas_w = 72*10
canvas_h = 72*4
canvas = RectangleCanvas(canvas_w, canvas_h)
saved_emoji_cloud_name = 'emoji_cloud_rectangle.png'
im = plot_dense_emoji_cloud(canvas, emoji_list)
im.save(saved_emoji_cloud_name)

# ellipse canvas
print("Plotting ellipse cloud")
canvas_w = 72*10
canvas_h = 72*4
saved_emoji_cloud_name = 'emoji_cloud_ellipse.png'
canvas = EllipseCanvas(canvas_w, canvas_h)
im = plot_dense_emoji_cloud(canvas, emoji_list)
im.save(saved_emoji_cloud_name)

Results:

Masked Result Image

Rectangle Result Image

Ellipse Result Image

All available vendors is stored in EmojiCloud.vendors.vendor_dir_list as a Python list:

from EmojiCloud.vendors import vendor_dir_list
print(vendor_dir_list)

You can check if an emoji with a specific unicode of a specific vendor exists using EmojiManager.check_exists(unicode, vendor) method.

Authors

Contributors names and contact info

License

See the LICENSE.md file for details

Paper

This project is inspired by Yunhe Feng's paper EmojiCloud: a Tool for Emoji Cloud Visualization.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

EmojiCloud-0.4.0.tar.gz (56.3 MB view details)

Uploaded Source

Built Distribution

EmojiCloud-0.4.0-py3-none-any.whl (66.0 MB view details)

Uploaded Python 3

File details

Details for the file EmojiCloud-0.4.0.tar.gz.

File metadata

  • Download URL: EmojiCloud-0.4.0.tar.gz
  • Upload date:
  • Size: 56.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for EmojiCloud-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7e5ed184eefb1c2233c5d6aacda289186f11f78410375af99078d2829b3c9b28
MD5 2e4b843948335dc653849099c1aa1d4a
BLAKE2b-256 351ff33acc0340cd752f297540a04ef7cf78d81ba4b6b13df8874621710dfaba

See more details on using hashes here.

File details

Details for the file EmojiCloud-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: EmojiCloud-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 66.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for EmojiCloud-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34e0ba28a544bff69dfe72b52fe77ddd6fd1075ea1779ace797ee399bb2b6472
MD5 b79c704b9468525591282f8f63f2216e
BLAKE2b-256 82191f9a3286a2bb8c6886551a6cccd8797f350e2e0d932b4c96ba74e8c3479d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page