# PyPlutchik: visualising and comparing emotion-annotated corpora

arXiv: https://arxiv.org/abs/2105.04295 · HTML: https://mlsanity.com/paper/2105.04295/

## Key facts

- Cited by 6 papers in the map (data through 14 Oct 2026).
- Builds on 11 of its 84 references that are in the map.
- First posted on arXiv 19 Apr 2021.

## Builds on (most cited first, 11 of 11)

- [Image-based Recommendations on Styles and Substitutes](https://mlsanity.com/paper/1506.04757/) (2015)
- [Crowdsourcing a Word-Emotion Association Lexicon](https://mlsanity.com/paper/1308.6297/) (2013)
- [Modeling Naive Psychology of Characters in Simple Commonsense Stories](https://mlsanity.com/paper/1805.06533/) (2018)
- [XED: A Multilingual Dataset for Sentiment Analysis and Emotion Detection](https://mlsanity.com/paper/2011.01612/) (2020)
- [DENS: A Dataset for Multi-class Emotion Analysis](https://mlsanity.com/paper/1910.11769/) (2019)
- [Practical and Ethical Considerations in the Effective use of Emotion and Sentiment Lexicons](https://mlsanity.com/paper/2011.03492/) (2020)
- [Multi-Label Sentiment Analysis on 100 Languages with Dynamic Weighting for Label Imbalance](https://mlsanity.com/paper/2008.11573/) (2020)
- [#lockdown: network-enhanced emotional profiling at the times of COVID-19](https://mlsanity.com/paper/2005.04404/) (2020)
- [Text-mining forma mentis networks reconstruct public perception of the STEM gender gap in social media](https://mlsanity.com/paper/2003.08835/) (2020)
- [Online Visual Analytics of Text Streams](https://mlsanity.com/paper/1512.04042/) (2015)
- [Cognitive networks identify the content of English and Italian popular posts about COVID-19 vaccines: Anticipation, logistics, conspiracy and loss of trust](https://mlsanity.com/paper/2103.15909/) (2021)

## Built on by (most cited first, 6 of 6)

- [DASentimental: Detecting depression, anxiety and stress in texts via emotional recall, cognitive networks and machine learning](https://mlsanity.com/paper/2110.13710/) (2021)
- [Writing about COVID-19 vaccines: Emotional profiling unravels how mainstream and alternative press framed AstraZeneca, Pfizer and vaccination campaigns](https://mlsanity.com/paper/2201.07538/) (2022)
- [Quantifying the Suicidal Tendency on Social Media: A Survey](https://mlsanity.com/paper/2110.03663/) (2021)
- [Cognitive network science quantifies feelings expressed in suicide letters and Reddit mental health communities](https://mlsanity.com/paper/2110.15269/) (2021)
- [Mapping the Technological Future: A Topic, Sentiment, and Emotion Analysis in Social Media Discourse](https://mlsanity.com/paper/2407.17522/) (2024)
- [Mapping Technological Futures: Anticipatory Discourse Through Text Mining](https://mlsanity.com/paper/2504.02853/) (2025)

## Abstract (arXiv)

The increasing availability of textual corpora and data fetched from social networks is fuelling a huge production of works based on the model proposed by psychologist Robert Plutchik, often referred simply as the ``Plutchik Wheel''. Related researches range from annotation tasks description to emotions detection tools. Visualisation of such emotions is traditionally carried out using the most popular layouts, as bar plots or tables, which are however sub-optimal. The classic representation of the Plutchik's wheel follows the principles of proximity and opposition between pairs of emotions: spatial proximity in this model is also a semantic proximity, as adjacent emotions elicit a complex emotion (a primary dyad) when triggered together; spatial opposition is a semantic opposition as well, as positive emotions are opposite to negative emotions. The most common layouts fail to preserve both features, not to mention the need of visually allowing comparisons between different corpora in a blink of an eye, that is hard with basic design solutions. We introduce PyPlutchik, a Python library specifically designed for the visualisation of Plutchik's emotions in texts or in corpora. PyPlutchik draws the Plutchik's flower with each emotion petal sized after how much that emotion is detected or annotated in the corpus, also representing three degrees of intensity for each of them. Notably, PyPlutchik allows users to display also primary, secondary, tertiary and opposite dyads in a compact, intuitive way. We substantiate our claim that PyPlutchik outperforms other classic visualisations when displaying Plutchik emotions and we showcase a few examples that display our library's most compelling features.
