本文借助xkcd在ggplot2里玩下手绘风,续前两篇:

一行Python代码让图形秒变「手绘风」

一款蠢萌蠢萌的可视化工具

xkcd主要有以下6个属性,详细功能都在后文代码里了~

theme_xkcd     Creates an XKCD theme
xkcd-package     Plotting ggplot2 Graphics in an XKCD Style
xkcdaxis     Plot the axis
xkcdline     Draw lines or circunferences
xkcdman     Draw a stick figure
xkcdrect     Draw fuzzy rectangles

xkcd使用前准备

#安装xkcd
options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")))
install.packages("xkcd",dependencies = TRUE)# 准备xkcd字体--本文在mac下,其他系统会有所差异
library(extrafont)
download.file("http://simonsoftware.se/other/xkcd.ttf", dest = "xkcd.ttf", mode = "wb")
system("cp xkcd.ttf ~/Library/Fonts/")
font_import(pattern = "[X/x]kcd", prompt = FALSE)

xkcd使用小例子,全面介绍了xkcd 6个属性的使用

volunteers <- data.frame(year = c(2007:2011), number = c(56470, 56998, 59686, 61783, 64251))datalines <- data.frame(xbegin=c(2007.3,2008.5),ybegin=c(63000,59600), xend=c(2012.5,2011.3), yend=c(68400,70000))p <- ggplot() + labs(title="Lovely XKCD IN R") +
#xkcdrect绘制漫画风格柱子边界
xkcdrect(aes(xmin = year, xmax = year + 0.3, ymin = number, ymax = number + 3600), volunteers, fill = "#dc2624", colour = "#2b4750") +
#theme_xkcd添加漫画风格主题
theme_xkcd() +
#xkcdaxis添加漫画风格轴
xkcdaxis(range(c(2007, 2012)), range(c(56000, 70000)))xrange <- range(volunteers$year)
yrange <- range(volunteers$number)
ratioxy <- diff(xrange)/diff(yrange)
mapping <- aes(x = x, y = y, scale = scale, ratioxy = ratioxy, angleofspine = angleofspine, anglerighthumerus = anglerighthumerus, anglelefthumerus = anglelefthumerus, anglerightradius = anglerightradius, angleleftradius = angleleftradius, anglerightleg = anglerightleg, angleleftleg = angleleftleg, angleofneck = angleofneck, color = color)dataman <- data.frame(x = c(2009.5), y = c(70000), scale = c(2000), ratioxy = ratioxy, angleofspine = -pi/2, anglerighthumerus = -pi/6, anglelefthumerus = pi + pi/6, anglerightradius = -pi/12, angleleftradius = -pi/8, angleleftleg = 3 * pi/2 + pi/12, anglerightleg = 3 * pi/2 - pi/12, angleofneck = runif(1, min = 3 * pi/2 - pi/10, max = 3 * pi/2 + pi/10), color = c("MAX"))#xkcdman添加漫画风格小人
p + xkcdman(mapping, dataman) +
#xkcdline添加漫画曲线
xkcdline(aes(x=xbegin,y=ybegin,xend=xend,yend=yend),datalines, xjitteramount = 0.7) 

更多demo

。。。。。。。。。。。

给ggplot2来个「手绘风」相关推荐

  1. 大气简洁手绘风商务计划书PPT模板

    今天小编将给大家带来得是主题为大气简洁手绘风商务计划书PPT模板.这份PPT模板的模板样式是以浅色作为模板的主色调,模板整体的制作围绕着手绘风展开,模板的内容也十分丰富多彩.下面就给大家展示该PPT模 ...

  2. 简约手绘风卡通教学课件PPT模板

    模板介绍 精美PPT模板设计,简约手绘风卡通教学课件PPT模板.一套说课PPT幻灯片模板,内含灰色多种配色,精美风格设计,动态播放效果,精美实用. 一份设计精美的PPT模板,可以让你在汇报演讲时脱颖而 ...

  3. Unreal Engine 4 手绘风滤镜(Paint Filter)即 桑原滤镜(Kuwahara Filter)教程(上)

    原文|<Unreal Engine 4 Paint Filter Tutorial> 作者|Tommy Tran May 1 2018 | 翻译 开发游戏的老王 阅读时长|25分钟 内容难 ...

  4. 大气欧美彩色手绘风论文答辩PPT模板

    下面这篇文章内容当中,小编将和大家分享得是主题为大气欧美彩色手绘风论文答辩PPT模板.这份PPT模板的模板样式是以白色作为模板背景,可模板内的边框.图案的颜色则为彩色,模板的风格为大气欧美手绘风.下面 ...

  5. 分布式事务解决方案「手写代码」

    分布式事务解决方案「手写代码」 参考文章: (1)分布式事务解决方案「手写代码」 (2)https://www.cnblogs.com/springboot-wuqian/p/12012894.htm ...

  6. 敲可爱的手绘风可视化库——cutecharts

    作者:陈键冬,Python中文社区专栏作者,开源项目pyecharts核心开发者.pyecharts项目曾上榜 Github Trending in Open Source,目前star数量超过710 ...

  7. sketch 流程图_眼前一亮!2款免费手绘风流程图绘制工具

    我在另外一篇文章:[一款让Python开发效率提升50%的工具包]画了几张手绘风格的流程图,文章发表之后有读者私信我: "这种风格的流程图好漂亮啊,请问是用什么工具画的啊?" 的确 ...

  8. 手绘风 PPT:Google 是如何运作的?

     时间:2015-03-17 14:04 来源:网络 作者:Pearl.Wu <Google 是如何运作的>一书于今年 9 月出版,作者是如雷贯耳的 Google 前 CEO 埃里克· ...

  9. 手绘风 PPT:Google 是如何运作的?-20141116早读课

    <Google 是如何运作的>一书于今年 9 月出版,作者是如雷贯耳的 Google 前 CEO 埃里克·施密特和 Google 高级副总裁乔纳森·罗森伯格.本文中的 54 张插图则是施密 ...

最新文章

  1. 记录一个比较完整的python项目分析架构
  2. 高德技术评测建设之路
  3. DG8SAQ 矢量网络分析
  4. mdi 子窗体 菜单 不合并。
  5. 关于动画培养灵感的网站
  6. 信用评分卡—信贷准入A卡(逻辑回归)
  7. jQuery以Post方式发送请求并获取返回的文件供下载!
  8. 沃尔玛招聘.NET软件工程师
  9. 解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type ‘xx.mapper.xxMapper‘
  10. 【Xamarin.Android】掌握android支持库
  11. python工作目录,如何使用python 3获取当前工作目录?
  12. hive 窗口函数 应用场景与实战详解
  13. 程序员的五种不同寻常的特质
  14. 服务器性能检测器,Linux服务器性能检测工具之 collectl
  15. 华为交换机5855设置ssh
  16. GPU显卡服务器有什么作用,可应用哪些方面呢
  17. 内存重叠的拷贝--memmove
  18. 电子取证之服务器取证,本人小白第一次从pc取证到服务器,这里有一套例题分享给大家,所有解析我都尽可能全面具体,希望与各位同仁一起学习。(非常推荐!)
  19. 基于ssm的基金分析系统的设计与实现-计算机毕业设计
  20. Clustering by Passing Messages Between Data Points(Brendan J.Frey* and Delbert Dueck)例子

热门文章

  1. 测试飞机高度和速度的软件,飞机是怎样测量飞行的高度、速度和方向的?
  2. 了解StarRocks
  3. FCPX插件:抖音vlog卡点转场特效合集
  4. FGW原来是为了保护老外……
  5. 头歌Java入门 - 运算符和表达式
  6. 妇女节特辑 | 别怀疑,你就是那个一身优点的女生!「#声浪计划xJollee」
  7. 最长上升子序列(LIS),牛客刷题
  8. 专项支出用款申请单:全民学Excel第六季
  9. 鼻炎的症状主要体现哪些方面?
  10. linux常用指令+实例