plotly / plotly/Plotly.NET

Tag cloud

Open
#419 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Difficulty: Intermediate FsLab Hackathon 2023 Status: In Progress
Dominant language
F#
Stars
860
Forks
99
Avg merge
22m
Merged PRs (30d)
1

Description

Description

A tag cloud is a visual representation for text data, typically used to depict keyword metadata (tags) on websites, to visualize free form text or to analyses speeches( e.g. election’s campaign). Tags are usually single words, and the importance of each tag is shown with font size or color. This format is useful for quickly perceiving the most prominent terms and for locating a term alphabetically to determine its relative prominence [1].

Depending on the level of sophistication, calculating positioning in a given space can become quite complex [2, 3]. If you need external dependencies, make sure to move this issue to the FsLab repository

Example

References
Pointers
  • Ideally, you start prototyping in a scripting or notebook environment where you can iterate fast. installation instructions can be found here: https://plotly.net/#Installation
  • Charts like this that are using baseline trace types to create a new chart type should only be implemented in the top-level Chart API. An example where this is already done is the Range chart that combines a set of differently styled line charts.
  • Ideally prevent text processing and just focus the plot on creating the tag cloud based on occurrence in a collection of strings. Preprocessing should be done in the pipeline before applying the visualization technique.
Hints (click to expand if you need additional pointers)
  • you can position text on a scatterplot and hide the markers to only show text
  • in a more sophisticated manner, you can also draw shapes on a plot that are either boxes containing text or even svg paths representing the text.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by prototyping in the scripting or notebook environment described in the issue, then read the top-level Chart API and the Range chart example in src/Plotly.NET/ChartAPI/Chart2D.fs. Explore using a scatterplot with hidden markers, keeping preprocessing outside the visualization. Done means the Chart API can create a tag cloud from occurrence data in a collection of strings.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.