来自大数据工程师的惊喜:用数据可视化之美逼死密集恐惧症

事情起因是这样的:在某个搞技群里有人发了一个11维的蜜汁微笑矩阵用来逼死密集恐惧症——

11*11蜜汁微笑矩阵

于是有人用一个[擦汗]的表情表示无语…… 可是仅仅一个表情,怎么能以对等的气势怼回去呢?于是——

123

emoji = '[擦汗]'for i in range(11):    print(emoji*(i+1))

11维下三角擦汗

不过考虑到这种方法只能把表情按离散整数的序列来放置,还不能在任意的连续数值处放表情。考虑到R中的ggimage包可以用图片来代替散点,于是一个思路就是画散点(曲线)图,然后用表情来代换散点。

然后,升级版的逼死密集恐惧症图形就新鲜出炉了——

正弦式笑哭

123456789101112131415

library(ggplot2)library(ggimage)showtext::showtext.auto(enable = T) theme1 <-   theme(panel.background = element_rect(fill = "black",color = "black"),plot.background = element_rect(fill="black",color = "black"),panel.grid = element_blank(),plot.title = element_text(hjust=0.5,family = "SimHei",size = 24,color = "#FEFEFE"),                  axis.text = element_blank(),axis.ticks = element_blank())# 正弦曲线x <- seq(from=0,to=2*pi,length.out = 80)y <- sin(x)df_sin <- data.frame(x = x,y=y) ggplot(df_sin,aes(x,y))+  geom_emoji(aes(image='1f602'))+  labs(x= "",y="",title="正弦式笑哭")+  theme1

正弦式笑哭

逻辑回归式笑哭

12345678910

# sigmoid曲线sigmoid <- function(x) return(1/(1+exp(-x)))x <- seq(from=-10,to=10,length.out = 100)y <- sigmoid(x)df_sigmoide <- data.frame(x = x,y=y) ggplot(df_sigmoide,aes(x,y))+  geom_emoji(aes(image='1f602'))+  labs(x= "",y="",title="逻辑回归式笑哭")+  theme1

逻辑回归式笑哭

正态分布式笑哭

123456789

# 正态密度曲线x <- seq(-5,5,length.out = 100)y <- dnorm(x)df_norm <- data.frame(x = x,y=y) ggplot(df_norm,aes(x,y))+  geom_emoji(aes(image='1f602'))+  labs(x= "",y="",title="正态分布式笑哭")+  theme1

正态分布式笑哭

爱心式笑哭

12345678910

# 心形曲线t <- seq(0,2*pi,length.out = 100)x <- 16*(sin(t)^3)y <- 13*cos(t) - 5*cos(2*t) - 2*cos(3*t)-cos(4*t)df_heart <- data.frame(x=x,y=y) ggplot(df_heart,aes(x=x,y=y))+  geom_emoji(aes(image='1f602'))+  labs(x= "",y="",title="爱心式笑哭")+  theme1

爱心式笑哭

众星捧月式笑哭

1234567891011121314

# 弧形x <- seq(-10,10,length.out=40)r <- 10y <- -sqrt(r^2-x^2)df_cirle <- data.frame(x = c(x,0), y = c(y,5),z=2)df_cirle$z[nrow(df_cirle)] <- 16 ggplot()+  geom_emoji(data=df_cirle,mapping=aes(x=x,y=y,image='1f602',size=z))+  scale_y_continuous(limits = c(-10,12))+  scale_size_area(max_size = 0.3)+  labs(x= "",y="",title="众星捧月式笑哭")+  guides(size=F)+  theme1

众星捧月式笑哭

囧式笑器

1234567891011121314

x <- seq(-10,10,length.out = 100)y <- 2/(x^2-2)shift <- 3x1 <- rep(seq(min(x)-shift,max(x)+shift,length.out = 150),2)y1 <- c(rep(min(y)-shift,150),rep(max(y)+shift,150))x2 <-  c(rep(min(x)-shift,150),rep(max(x)+shift,150))y2 <- rep(seq(min(y)-shift,max(y)+shift,length.out = 150),2) df_orz <- data.frame(x=c(x,x1,x2),y=c(y,y1,y2)) ggplot(df_orz,aes(x=x,y=y))+  geom_emoji(aes(image='1f602'))+  labs(x= "",y="",title="囧式笑哭")+  theme1

囧式笑哭

金拱门式笑哭

12345678910

# 金拱门x <- seq(0,2*pi,length.out = 100)y <- abs(sin(x)) df_m <- data.frame(x=x,y=y) ggplot(df_m,aes(x=x,y=y))+  geom_emoji(aes(image='1f602'))+  labs(x= "",y="",title="金拱门式笑哭")+  theme1

金拱门式笑哭

四叶草式笑哭

123456789101112

# 四叶草x <- seq(0,2*pi,length.out = 100)y <- cos(4*x) df_flower <- data.frame(x=x,y=y) ggplot(df_flower,aes(x,y))+  geom_line()+  geom_emoji(aes(image='1f602'))+  coord_polar()+  labs(x= "",y="",title="四叶草式笑哭")+  theme1

四叶草式笑哭

万花筒式笑哭

1234567891011121314151617181920

# 万花筒式笑哭get_circle <- function(r){  t <- seq(-r,r,length.out = 50*sqrt(r))  x <- rep(t,2)  y <- c(sqrt(r^2-t^2),-sqrt(r^2-t^2))  df <- data.frame(x=x,y=y)  return(df)} df_circle <- data.frame(x=NULL,y=NULL)layer <- 11for(i in 1:layer){  df_circle <- rbind(df_circle,get_circle(i))} ggplot()+  geom_emoji(data = df_circle,aes(x,y,image='1f602'))+  scale_x_continuous(limits = c(-layer,layer))+  labs(x= "",y="",title="万花筒式笑哭")+  theme1

11阶万花筒式笑哭,是不是比矩阵不知道高到哪去了

无招胜有招式笑哭

12345678910

# 无招胜有招式笑哭x <- rnorm(10000,mean=0,sd=10)y <- rnorm(10000,mean = 0,sd=10) df_norm <- data.frame(x=x,y=y) ggplot(data = df_norm,mapping = aes(x,y,image='1f602'))+  geom_emoji()+  labs(x= "",y="",title="无招胜有招式笑哭")+  theme1

无招胜有招式笑哭

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【专知荟萃05】聊天机器人Chatbot知识资料全集(入门/进阶/论文/软件/数据/专家等)(附pdf下载)

【导读】主题荟萃知识是专知的核心功能之一,为用户提供AI领域系统性的知识学习服务。主题荟萃为用户提供全网关于该主题的精华(Awesome)知识资料收录整理,使得...

3978
来自专栏测试开发架构之路

分享一本关于稀疏信号处理的书给大家,也是我曾读过的教材[附下载链接]

Sparse Signal Processing 作者/authors M Azghani, F Marvasti 摘要/abstract Convention...

3317
来自专栏CreateAMind

强化学习族谱

https://github.com/tigerneil/deep-reinforcement-learning-family

681
来自专栏AI科技大本营的专栏

NIPS | 谷歌AI大军来袭,看450多名员工如何横扫今年大会

一年一度的AI盛会NIPS又开始了。 会前数周,就有大神预计,驱车参会的谷歌员工会挤满加州从山景城到长滩的道路,就像这样: ? 图片来源:杜克大学陈怡然教授微博...

3735
来自专栏企鹅号快讯

2018年值得关注的200场机器学习会议

2017年马上就要过去了,这一年你的收获怎么样?在学习的过程中,独自学习与向别人学习同样重要,其中通过各种会议了解AI行业研究成果是个不错的提高自己的方法。对于...

2459
来自专栏腾讯音视频实验室

现场报道 | SIGGRAPH Asia 2017 (DAY 3):领略前沿Poster papers

今天是SIGGRAPH Asia 2017的第三天,也是Poster papers讲解的最后一天(总共两天,每天中午13:00-14:00)。今年中了poste...

3657
来自专栏AI科技大本营的专栏

资源 | 2018年值得关注的200场机器学习会议(建议收藏)

2017年马上就要过去了,这一年你的收获怎么样?在学习的过程中,独自学习与向别人学习同样重要,其中通过各种会议了解AI行业研究成果是个不错的提高自己的方法。对于...

34910
来自专栏CreateAMind

Suggested Education for Future AGI Researchers

https://sites.google.com/site/narswang/home/agi-introduction/agi-education

842
来自专栏听雨堂

想修改CSS

      下载了一个“通用”的CSS文件,本来想偷懒的,结果发现有问题,就是它用的颜色是变量定义的,无法识别。我又找不到在哪里可以定义。 BODY{     ...

17710
来自专栏机器之心

ACL 2017接受了哪些论文?这份可视化分析让你轻松看懂(附论文列表)

选自ACL 2017 机器之心报道 参与:蒋思源 国际计算语言学协会 (ACL,The Association for Computational Lingui...

2819

扫码关注云+社区