美文网首页
2-14 |“特殊”的日子,多学一种表达爱的方式

2-14 |“特殊”的日子,多学一种表达爱的方式

作者: 生信补给站 | 来源:发表于2020-02-14 15:19 被阅读0次

首发于“生信补给站” https://mp.weixin.qq.com/s/U8yzX-BYQ6wdZObkBz8ecw

全世界所有的语言都有表达爱意的方式,R语言当然也有!

特殊的日子,需要一个特殊的数据集!ggwordcloud内置数据集包含全世界147种爱你的语言,用R送给TA一份远程的爱。

一 氛围 道具

准备好R的环境,和“爱”的数据集

#install.packages("ggwordcloud")
library(ggwordcloud)
data("love_words")
head("love_words")
# A tibble: 6 x 4
  lang  word  native_speakers speakers
  <chr> <chr>           <dbl>    <dbl>
1 zh    愛             1200      1200 
2 en    Love            400       800 
3 es    Amor            480       555 
4 ar    حب              245       515 
5 hi    प्यार            322       442 
6 fr    Amour            76.8     351.

嗯,我也只能看懂2种,但知道都是表达爱的就可以了!

二 初始“印象”

geom_text_wordcloud 看一下世界范围内的不同国家说“爱”的人数

#AI的大小由speakers的人数决定
ggplot(love_words, aes(label = word, size = speakers)) +
  geom_text_wordcloud() +
  scale_size_area(max_size = 40)
img

三 “钻石”和“心”

1 )将爱变成钻石的形状

#钻石形状
love_words <- love_words %>%
  mutate(angle = 90 * sample(c(0, 1), n(), replace = TRUE, prob = c(60, 40)))
ggplot(love_words, aes(label = word, size = speakers)) +
  geom_text_wordcloud_area(shape = "diamond") +
  scale_size_area(max_size = 40)
img

2 )自定义爱心的形状


ggplot(love_words,aes(label = word, size = speakers,
    color = speakers, angle = angle)) +
  geom_text_wordcloud_area(
    mask = png::readPNG(system.file("extdata/hearth.png",
      package = "ggwordcloud", mustWork = TRUE
    )),
    rm_outside = TRUE
  ) +
  scale_size_area(max_size = 40) +
  scale_color_gradient(low = "darkred", high = "red")
img

四 “密码” VS “对话”

既然是ggplot2的扩展包,那么就可以做很多事情。

1)更改label,变成“密码”,,,

set.seed(42)
ggplot(love_words_small, aes(label = word, size = speakers,
                             label_content = sprintf("%s<span style='font-size:7.5pt'>(%g)</span>", word, speakers))) +
  geom_text_wordcloud_area() +
  scale_size_area(max_size = 40) +
  theme_minimal()
img 注:此为官网图,尝试很多没实现官网中label_content的功能,本来想着新增一列,把想说的话随机打乱加在新列中,然后label_content展示这些“密码”。

2)对话

统计微信或者QQ中的对话词频,标记出谁说的,然后分页展示

library(dplyr)
library(tidyr)
love_words$MW <- sample(c("M","W"),size=147,replace=T)
ggplot(love_words,aes(label = word, size = speakers,
    color = speakers)) +
  geom_text_wordcloud_area(
    mask = png::readPNG(system.file("extdata/hearth.png",
      package = "ggwordcloud", mustWork = TRUE
    )),
    rm_outside = TRUE
  ) +
  scale_size_area(max_size = 40) +
  scale_color_gradient(low = "darkred", high = "red")+
facet_wrap(~MW) + theme_minimal()
img

参考资料:

https://lepennec.github.io/ggwordcloud/articles/ggwordcloud.html

好了,自由发挥去吧!

◆ ◆ ◆ ◆ ◆

精心整理(含图版)|你要的全拿走!有备无患 (R统计,ggplot2绘图,生信图形可视化汇总)

相关文章

  • 2-14 |“特殊”的日子,多学一种表达爱的方式

    首发于“生信补给站” https://mp.weixin.qq.com/s/U8yzX-BYQ6wdZObkBz8...

  • 探索“哑语”之谜!

    哑语是一种特殊人群表达语言的一种特殊的交流方式。他们可以通过手势、动作或者文字的方式,向对方表达出自己想要说的话,...

  • 520是一个表白与被表白的日子。

    520是一个表白与被表白的日子,同时也是一个表达甜言蜜语的好日子,而在这种特别的日子里。小情话成为表达爱的一种方式...

  • 有时候不是不爱,而是更爱

    爱的表达方式有很多种,有人喜欢直接说出口的爱,有人喜欢用行动来表达,有人喜欢用物质来表达爱,虽然每一种表达的方式不...

  • 520特殊的日子特殊的爱

    在特殊的日子里 不为别的 只为来生还爱你 5月10日 经检测我的车膜是毒膜 5月15号 我撕掉了劣质毒膜 不为别的...

  • 240.小诗

    特别的日子里 用属于我的方式 表达 情意 我写下各种样子的“爱” 心里却只有一种 下雨了 我用“爱”筑起一方天空...

  • 表达爱的日子

    不知从何时开始五月二十日就成了网络情人节,520谐音我爱你。 结婚多年,孩子上二年级的了。昨天接儿子放学,在路上他...

  • 给妈妈的信

    亲爱的妈妈 在这个特殊的日子里不能陪您过节,想通过写信的方式来表达一下我对您的爱! 感恩妈妈您给了我生命,谢谢您生...

  • 表达爱的方式

    昨晚老公陪我散步,我俩一出门,他就很自然地接了我的小包自己背着了。 当时我就想起了前几天和老公高中同学们小聚结束后...

  • 表达爱的方式

    主人,这是我能抓到的最大的老鼠,趁新鲜快吃吧 爸爸妈妈,我爱你们 小米买了各种形状的薯片...

网友评论

      本文标题:2-14 |“特殊”的日子,多学一种表达爱的方式

      本文链接:https://www.haomeiwen.com/subject/lpadfhtx.html