显然,民间已经想出如何制作xkcd样式图in Mathematica和in LaTeX . 我们可以用R做吗? GGPLOT2-ERS?一个geom_xkcd和/或theme_xkcd?
我想在基本图形中,par(xkcd = TRUE)?我该怎么做?
作为ggplot2中的第一个刺(并且在下面更加优雅地显示),将jitter参数添加到一行可以获得很好的手绘外观 . 所以 -
ggplot(mapping=aes(x=seq(1,10,.1), y=seq(1,10,.1))) +
geom_line(position="jitter", color="red", size=2) + theme_bw()
这是一个很好的例子 - 但轴和字体显得比较棘手 . 但是,字体显示已解决(下方) . 处理轴的唯一方法是将它们清空并用手绘制它们吗?有更优雅的解决方案吗?特别是在ggplot2中,是否可以修改新主题系统中的element_line以获取类似抖动的参数?
7 回答
这是基于来自xkcd论坛和
extrafont
包的链接的字体尝试:如上所述,有一个forum discussion about fonts on the xkcd site:我 grab 了第一个我能找到的,可能还有其他(更好的?)选项(@jebyrnes在上面的评论中发布可能的字体的另一个来源 - TTF文件是here;有人报告了404对于该源的错误,您可以尝试here或here,在下面适当地替换这些URL以用于
xkcdFontURL
;您可能需要更加努力地检索Github发布的链接)(这是为了快速,一次性使用:对于常规使用,你应该把它放在一些标准的系统字体目录中 . )
有关字体的最有用信息是on the extrafont github site - 这是从那里获取的
从github站点或多或少逐字逐句采取的示例:
与其他一些答案一样思考,我已经“取消了”图表,并添加了x轴标签位置的灵活性(这似乎在xkcd中很常见)和一个任意标签图表 .
请注意,我在加载Humor Sans字体并手动将其下载到工作目录时遇到了一些问题 .
而代码......
这是一个非常非常粗糙的开始,仅涵盖(部分)线条的手绘外观和感觉 . 自动执行此操作需要一些工作,但在响应函数中添加一些AR(1)噪声可能会使它看起来略微手绘
基本的线条绘制功能:
基本轴:
示例代码:
生产环境 :
我使用RStudio设计了一个xkcd主题分析日历 . 以下是条形图xkcd样式的示例
使用的字体= HumorSans.ttf [上面给出的链接]
使用的包[xkcd]
要生成此图
这是使用的代码
您可能需要考虑以下包:
Package xkcd:以XKCD样式绘制ggplot2图形 .
一些例子(Scatterplots,Bar Charts):
这是我使用
ggplot2
的线条,使用上面的一些代码:不知道如何更换轴,但可以使用与
jitter
相同的方法 . 然后是从XKCD导入字体并使用geom_text
进行分层的问题 .