给ggplot2来个「手绘风」
本文借助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来个「手绘风」相关推荐
- 大气简洁手绘风商务计划书PPT模板
今天小编将给大家带来得是主题为大气简洁手绘风商务计划书PPT模板.这份PPT模板的模板样式是以浅色作为模板的主色调,模板整体的制作围绕着手绘风展开,模板的内容也十分丰富多彩.下面就给大家展示该PPT模 ...
- 简约手绘风卡通教学课件PPT模板
模板介绍 精美PPT模板设计,简约手绘风卡通教学课件PPT模板.一套说课PPT幻灯片模板,内含灰色多种配色,精美风格设计,动态播放效果,精美实用. 一份设计精美的PPT模板,可以让你在汇报演讲时脱颖而 ...
- Unreal Engine 4 手绘风滤镜(Paint Filter)即 桑原滤镜(Kuwahara Filter)教程(上)
原文|<Unreal Engine 4 Paint Filter Tutorial> 作者|Tommy Tran May 1 2018 | 翻译 开发游戏的老王 阅读时长|25分钟 内容难 ...
- 大气欧美彩色手绘风论文答辩PPT模板
下面这篇文章内容当中,小编将和大家分享得是主题为大气欧美彩色手绘风论文答辩PPT模板.这份PPT模板的模板样式是以白色作为模板背景,可模板内的边框.图案的颜色则为彩色,模板的风格为大气欧美手绘风.下面 ...
- 分布式事务解决方案「手写代码」
分布式事务解决方案「手写代码」 参考文章: (1)分布式事务解决方案「手写代码」 (2)https://www.cnblogs.com/springboot-wuqian/p/12012894.htm ...
- 敲可爱的手绘风可视化库——cutecharts
作者:陈键冬,Python中文社区专栏作者,开源项目pyecharts核心开发者.pyecharts项目曾上榜 Github Trending in Open Source,目前star数量超过710 ...
- sketch 流程图_眼前一亮!2款免费手绘风流程图绘制工具
我在另外一篇文章:[一款让Python开发效率提升50%的工具包]画了几张手绘风格的流程图,文章发表之后有读者私信我: "这种风格的流程图好漂亮啊,请问是用什么工具画的啊?" 的确 ...
- 手绘风 PPT:Google 是如何运作的?
时间:2015-03-17 14:04 来源:网络 作者:Pearl.Wu <Google 是如何运作的>一书于今年 9 月出版,作者是如雷贯耳的 Google 前 CEO 埃里克· ...
- 手绘风 PPT:Google 是如何运作的?-20141116早读课
<Google 是如何运作的>一书于今年 9 月出版,作者是如雷贯耳的 Google 前 CEO 埃里克·施密特和 Google 高级副总裁乔纳森·罗森伯格.本文中的 54 张插图则是施密 ...
最新文章
- 记录一个比较完整的python项目分析架构
- 高德技术评测建设之路
- DG8SAQ 矢量网络分析
- mdi 子窗体 菜单 不合并。
- 关于动画培养灵感的网站
- 信用评分卡—信贷准入A卡(逻辑回归)
- jQuery以Post方式发送请求并获取返回的文件供下载!
- 沃尔玛招聘.NET软件工程师
- 解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type ‘xx.mapper.xxMapper‘
- 【Xamarin.Android】掌握android支持库
- python工作目录,如何使用python 3获取当前工作目录?
- hive 窗口函数 应用场景与实战详解
- 程序员的五种不同寻常的特质
- 服务器性能检测器,Linux服务器性能检测工具之 collectl
- 华为交换机5855设置ssh
- GPU显卡服务器有什么作用,可应用哪些方面呢
- 内存重叠的拷贝--memmove
- 电子取证之服务器取证,本人小白第一次从pc取证到服务器,这里有一套例题分享给大家,所有解析我都尽可能全面具体,希望与各位同仁一起学习。(非常推荐!)
- 基于ssm的基金分析系统的设计与实现-计算机毕业设计
- Clustering by Passing Messages Between Data Points(Brendan J.Frey* and Delbert Dueck)例子