前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一行代码绘制出朋克风格可视化作品!?除了Python,这个技巧也可以~~

一行代码绘制出朋克风格可视化作品!?除了Python,这个技巧也可以~~

作者头像
DataCharm
发布2021-09-17 11:28:20
3840
发布2021-09-17 11:28:20
举报

有小伙伴们问我“Python有mplcyberpunk库可以绘制赛博朋克风的可视化作品,那R可有类似的包进行绘制呢?”当然有啦,今天小编就给大家推荐一个可以绘制赛博朋克风的优秀第三方R包-ggCyberPunk,今天推文的主要内容如下:

  • R-ggCyberPunk包简介
  • R-ggCyberPunk包实例演示

R-ggCyberPunk包简介

R-ggCyberPunk包作为基于ggplot2、专门绘制赛博朋克风的第三方包,其提供的绘制函数有限,主要包括以下几个:

  • geom_glowing_area():绘制赛博朋克风发光区域图(area plot)。
  • geom_glowing_line():绘制赛博朋克风发光线图(line plot )。
  • geom_linesaber():绘制赛博朋克风激光剑外观线图(line plot)。
  • theme_cyberpunk():绘制赛博朋克风绘图主题。

更多参数信息可参考:R-ggCyberPunk介绍[1]

R-ggCyberPunk包实例演示

这一部分小编就列举使用几个 R-ggCyberPunk包绘制赛博朋克风的可视化作品,如下:

  • 「geom_glowing_area()」:
代码语言:javascript
复制
library(tidyverse)
library(ggtext)
library(hrbrthemes)
library(ggCyberPunk)

df = data.frame(A=c(1,4,4,6,7,5,1),
               B=c(4,3,5,7,5,6,7),
               Time=c(1,2,3,4,5,6,7)) %>%
# 将数据准换成DF类型
pivot_longer(cols = c(A,B),names_to = "group", values_to = "count")

#可视化绘制
plot01 <- ggplot(data = df,aes(x=Time, y = count, color = group, fill= group))+
     geom_glowing_area()+
     scale_fill_cyberpunk("zune")+
     scale_color_cyberpunk("zune")+
    labs(
    title = "Example of <span style='color:#D20F26'>ggCyberPunk::geom_glowing_area function</span>",
    subtitle = "processed charts with <span style='color:#1A73E8'>geom_glowing_area()</span>",
    caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  theme_cyberpunk(font = "Roboto Condensed")+
  theme(
    plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
                                  size = 20, margin = margin(t = 1, b = 12)),
    plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
    plot.caption = element_markdown(hjust = 1,face = 'bold',size = 12)
      )

Example Of geom_glowing_area()with zune

注意:这里scale_fill_cyberpunk() 中可设置main , zune, cotton candy, laser sword 四种选项。效果分别如下:

「main」:

Example Of geom_glowing_area()with main

「cotton candy」:

Example Of geom_glowing_area()with cotton candy

「laser sword」:

Example Of geom_glowing_area()with laser sword

  • 「geom_glowing_line()」:
代码语言:javascript
复制
df = data.frame(A=c(1,4,4,6,7,5,1),
               B=c(4,3,5,7,5,6,7),
               Time=c(1,2,3,4,5,6,7)) %>%
pivot_longer(cols = c(A,B),names_to = "group", values_to = "count")


plot2 <- ggplot(data = df,aes(x=Time, y = count, color = group, fill= group))+
     geom_glowing_line()+
     scale_color_cyberpunk()+
     labs(
    title = "Example of <span style='color:#D20F26'>ggCyberPunk::geom_glowing_line function</span>",
    subtitle = "processed charts with <span style='color:#1A73E8'>geom_glowing_line()</span>",
    caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  theme_cyberpunk(font = "Roboto Condensed")+
  theme(
    plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
                                  size = 20, margin = margin(t = 1, b = 12)),
    plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
    plot.caption = element_markdown(hjust = 1,face = 'bold',size = 12)
      )

Example Of geom_glowing_line()

  • 「geom_linesaber()」
代码语言:javascript
复制
df = data.frame(A=c(1,4,4,6,7,5,1),
               B=c(4,3,5,7,5,6,7),
               Time=c(1,2,3,4,5,6,7)) %>%
pivot_longer(cols = c(A,B),names_to = "group", values_to = "count")

plot3 <- ggplot(data = df,aes(x=Time, y = count, color = group, fill= group))+
     geom_linesaber()+
     theme_cyberpunk()+
     scale_color_cyberpunk(reverse = T)+
    labs(
    title = "Example of <span style='color:#D20F26'>ggCyberPunk::geom_linesaber function</span>",
    subtitle = "processed charts with <span style='color:#1A73E8'>geom_linesaber()</span>",
    caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  theme_cyberpunk(font = "Roboto Condensed")+
  theme(
    plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
                                  size = 20, margin = margin(t = 1, b = 12)),
    plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
    plot.caption = element_markdown(hjust = 1,face = 'bold',size = 12)
      )

Example Of geom_linesaber()

以上就是简单介绍了R-ggCyberPunk包三个绘图函数,接下里,我们使用改包主题对常见图表进行朋克风格图表绘制,如下:

「geom_boxplot」:箱线图

代码语言:javascript
复制
plot4 <- ggplot(mpg, aes(class, hwy,fill=factor(drv))) + 
  geom_boxplot() +
  scale_fill_cyberpunk("zune",name="")+
    labs(
    title = "Example of <span style='color:#D20F26'>ggCyberPunk::scale_fill_cyberpunk function</span>",
    subtitle = "processed charts with <span style='color:#1A73E8'>scale_fill_cyberpunk()</span>",
    caption = "Visualization by <span style='color:#0057FF'>DataCharm</span>") +
  theme_cyberpunk(font = "Roboto Condensed")+
  theme(
    plot.title = element_markdown(hjust = 0.5,vjust = .5,color = "black",
                                  size = 20, margin = margin(t = 1, b = 12)),
    plot.subtitle = element_markdown(hjust = 0,vjust = .5,size=15),
    plot.caption = element_markdown(hjust = 1,face = 'bold',size = 12)
      )

Example Of ggplot2::geom_boxplot() with theme_cyberpunk()

当然,你还可以设置其他颜色风格的样式。如果你不喜欢R绘制类似的图表,你可以试试python的可视化库-mplcyberpunk,更多关于mplcyberpunk库的详细内容大家可参考:python-mplcyberpunk库[2]

总结

本期这篇推文,小编介绍了使用R绘制朋克风格的可视化作品的ggCyberPunk包,希望可以给大家一种不一样的可视化视觉效果。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • R-ggCyberPunk包简介
  • R-ggCyberPunk包实例演示
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档