用数据可视化之美逼死密集恐惧症

大数据 数据可视化
事情起因是这样的:在某个搞技群里有人发了一个11维的蜜汁微笑矩阵用来逼死密集恐惧症——于是有人用一个[擦汗]的表情表示无语……可是仅仅一个表情,怎么能以对等的气势怼回去呢?

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

用数据可视化之美逼死密集恐惧症

 

 

11*11蜜汁微笑矩阵

于是有人用一个[擦汗]的表情表示无语……

可是仅仅一个表情,怎么能以对等的气势怼回去呢?于是——

 

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

 

用数据可视化之美逼死密集恐惧症

11维下三角擦汗

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

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

正弦式笑哭

 

  1. library(ggplot2) 
  2. library(ggimage) 
  3. showtext::showtext.auto(enable = T) 
  4.  
  5. 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"), 
  6.                   axis.text = element_blank(),axis.ticks = element_blank()) 
  7. # 正弦曲线 
  8. x <- seq(from=0,to=2*pi,length.out = 80) 
  9. y <- sin(x) 
  10. df_sin <- data.frame(x = x,y=y) 
  11.  
  12. ggplot(df_sin,aes(x,y))+ 
  13.   geom_emoji(aes(image='1f602'))+ 
  14.   labs(x= "",y="",title="正弦式笑哭")+ 
  15.   theme1 

 

用数据可视化之美逼死密集恐惧症

正弦式笑哭

 

逻辑回归式笑哭

 

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

 

用数据可视化之美逼死密集恐惧症

逻辑回归式笑哭

 

正态分布式笑哭

 

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

 

用数据可视化之美逼死密集恐惧症

正态分布式笑哭

 

爱心式笑哭

 

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

 

用数据可视化之美逼死密集恐惧症

爱心式笑哭

 

众星捧月式笑哭

 

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

 

用数据可视化之美逼死密集恐惧症

众星捧月式笑哭

 

囧式笑器

 

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

 

用数据可视化之美逼死密集恐惧症

囧式笑哭

 

金拱门式笑哭

 

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

 

用数据可视化之美逼死密集恐惧症

金拱门式笑哭

 

四叶草式笑哭

 

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

 

用数据可视化之美逼死密集恐惧症

四叶草式笑哭

 

万花筒式笑哭

 

  1. # 万花筒式笑哭 
  2. get_circle <- function(r){ 
  3.   t <- seq(-r,r,length.out = 50*sqrt(r)) 
  4.   x <- rep(t,2) 
  5.   y <- c(sqrt(r^2-t^2),-sqrt(r^2-t^2)) 
  6.   df <- data.frame(x=x,y=y) 
  7.   return(df) 
  8.  
  9. df_circle <- data.frame(x=NULL,y=NULL
  10. layer <- 11 
  11. for(i in 1:layer){ 
  12.   df_circle <- rbind(df_circle,get_circle(i)) 
  13.  
  14. ggplot()+ 
  15.   geom_emoji(data = df_circle,aes(x,y,image='1f602'))+ 
  16.   scale_x_continuous(limits = c(-layer,layer))+ 
  17.   labs(x= "",y="",title="万花筒式笑哭")+ 
  18.   theme1 

 

用数据可视化之美逼死密集恐惧症
11阶万花筒式笑哭,是不是比矩阵不知道高到哪去了

无招胜有招式笑哭

 

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

 

用数据可视化之美逼死密集恐惧症
无招胜有招式笑哭

责任编辑:未丽燕 来源: 36大数据
相关推荐

2018-03-14 14:28:20

Python数据分析可视化

2014-06-09 10:47:20

IT运维北塔软件

2010-10-25 10:59:47

2016-02-02 16:07:32

可视化大数据数据可视化

2020-09-17 16:22:51

戴尔

2017-09-18 09:43:36

Junos网络配置

2017-10-25 13:04:10

数据可视化信息可视化数据图表

2020-03-11 14:39:26

数据可视化地图可视化地理信息

2023-11-06 10:04:51

Go语言大数据

2020-08-25 13:22:07

数据可视化

2017-10-14 13:54:26

数据可视化数据信息可视化

2018-03-27 22:40:59

深度学习

2017-06-29 11:26:08

Python数据可视化

2018-08-08 20:49:55

2015-08-20 10:00:45

可视化

2020-12-28 10:20:57

数据可视化工具大数据

2021-01-05 11:05:35

数据可视化工具大数据

2017-10-17 11:58:54

R语言UpSetR可视化

2017-06-19 08:30:35

大数据数据可视化报表

2017-02-23 09:42:53

大数据数据可视化技术误区
点赞
收藏

51CTO技术栈公众号