相关疑难解决方法(0)

MATLAB中的xkcd样式图

xkcd风格的图形

因此,有才能的人已经想出了如何在Mathematica,LaTeX,PythonR中制作xkcd样式图.

如何使用MATLAB生成如上图所示的图?

我试过了什么

我创造了摇摆的线条,但我无法得到摇摆的轴.我想到的唯一解决方案是用摇摆的线覆盖它们,但我希望能够改变实际的轴.我也无法使幽默字体工作,使用的代码位是:

 annotation('textbox',[left+left/8 top+0.65*top 0.05525 0.065],...
'String',{'EMBARRASSMENT'},...
'FontSize',24,...
'FontName','Humor',...
'FitBoxToText','off',...
'LineStyle','none');
Run Code Online (Sandbox Code Playgroud)

对于摇摆不定的线,我尝试添加一个小的随机噪声和平滑:

 smooth(0.05*randn(size(x)),10)
Run Code Online (Sandbox Code Playgroud)

但是当它们交叉时,我无法使白色背景出现在它们周围......

matlab plot

218
推荐指数
4
解决办法
3万
查看次数

ggplot2 有没有办法将文本放置在弯曲的路径上?

有没有办法在 ggplot2 中沿着密度线放置文本,或者就此而言,沿着任何路径放置文本?我的意思是一次作为标签,采用这种 xkcd 风格:18351950(中间面板)、13922234(中间面板)。或者,有没有办法让该行重复文本,例如xkcd #930?我对所有 xkcd 表示歉意,我不确定这些样式叫什么,这是我能想到的唯一一个我以前见过的以这种方式区分区域的地方。

注意:我不是在谈论手绘的 xkcd 风格,也不是在顶部放置平面标签

我知道我可以放置一段笔直/平坦的文本,例如 viaannotategeom_text,但我很好奇弯曲此类文本,使其看起来沿着数据的曲线。

我也很好奇这种文本风格有名字吗?

ggplot2 图表示例使用annotate(...)

带有水平文本的 ggplot 图表

上面的示例图在 Inkscape 中用弯曲文本修改:

第一张图的修改版本,其中文本遵循弯曲路径


编辑:根据要求,这是 3 月和 4 月前两次试运行的数据:

df <- data.frame(
  monthly_run = c('March', 'March', 'March', 'March', 'March', 'March', 'March', 
                  'March', 'March', 'March', 'March', 'March', 'March', 'March', 
                  'April', 'April', 'April', 'April', 'April', 'April', 'April', 
                  'April', 'April', 'April', 'April', 'April', 'April', 'April'),
  duration    = …
Run Code Online (Sandbox Code Playgroud)

visualization r data-visualization ggplot2

41
推荐指数
2
解决办法
2277
查看次数

在R中更改图形的字体

在我的研究中,我使用R生成各种图形.我看到大多数图形都提供了各种大小的Sans Serif类型字体.

如何将图形中的所有文本(x标签,y标签,标题,图例等)更改为统一字体,例如Times New Roman,12pt,Bold?

fonts r graph

27
推荐指数
4
解决办法
6万
查看次数

修复轴标签中的排版

序言:我想从R创建出版级图形而不进行后处理.我所在研究所的其他研究人员总是在图形软件(如Adobe Illustrator)中进行后处理.我希望避免这种情况.

我的抱怨是R不对负数使用正确的减号(特别是在绘图轴上):

plot(-20:-1, rnorm(20) + 1 : 20)
Run Code Online (Sandbox Code Playgroud)

负数的情节

(我已经把犯罪者围了起来供你考虑.)

作为一个排版书呆子(这是真的!检查我的职业生涯简历!)这是不可接受的.我需要在这里使用正确的Unicode字符ᴍɪɴᴜꜱꜱɪɢɴ(U + 2212," - ").我的一个朋友在发布之前通过替换Adobe Illustrator中的所有减号来实现这一点,但我不禁认为必须有一种更好的方法 - 从R内部 - 来实现这一目标; 并且不会强迫我手动更换所有轴标签.

(我目前没有使用ggplot2,但如果有一个只适用于ggplot2的解决方案,我很乐意接受它.)

plot typography r

18
推荐指数
4
解决办法
1055
查看次数

尽管线条大小,如何保持线型间距不变

当尺寸不同时,我一直试图在 ggplot2 或网格中绘制线段之间具有相等间距的线。但是我没有成功,所以我向你寻求帮助。

在下面的示例中,如何在线条大小不同的情况下保持线段之间的绝对间距相等?

我想避免使用自定义makeContent.myclass方法来控制自己。

library(ggplot2)
library(grid)

df <- data.frame(
  x = c(1:2, 1:2),
  y = c(1:2, 2:1),
  size = c(1,1,10,10)
)

# In ggplot2
ggplot(df, aes(x, y, size = size, group = size)) +
  geom_line(linetype = 2)
Run Code Online (Sandbox Code Playgroud)

# In grid
lines <- polylineGrob(
  x = scales::rescale(df$x), 
  y = scales::rescale(df$y), 
  id = c(1,1,2,2),
  gp = gpar(lty = 2, lwd = c(1, 10))
)

grid.newpage(); grid.draw(lines)
Run Code Online (Sandbox Code Playgroud)

我想要类似于以下在 illustrator 中制作的东西。请注意,红线段的长度相等。

在此处输入图片说明

有任何想法吗?谢谢阅读!

r ggplot2 r-grid

10
推荐指数
2
解决办法
213
查看次数

xkcd样式图 - 注册字体出错

我想创建图形,就像上一个主题的链接一样,但是收到错误:

在grid.Call(L_textBounds,as.graphicsAnnot(x $ label),x $ x,x $ y,:在Windows字体数据库中找不到字体系列

虽然安装fonts()了"Humor Sans"和"xksd"节目.我使用的是Windows 7 64bit,R 2.15.2 RStudio 0.96.331.

任何建议如何解决?

r

7
推荐指数
1
解决办法
1804
查看次数

带有自定义字体的 ggplot 在闪亮应用程序上无法正确显示

我可以自定义字体ggplot

\n\n
library(extrafont)\n\nwindowsFonts()\nfont_import(pattern = "comic", prompt = FALSE)\nloadfonts(device = "win")\nwindowsFonts()\n\nggplot(mapping=aes(x=seq(1,10,.1), y=seq(1,10,.1))) + \n  geom_line(position="jitter", color="red", size=2) + theme_bw() +\n  theme(text=element_text(size=16,  family="Comic Sans MS"))\n
Run Code Online (Sandbox Code Playgroud)\n\n

这呈现为:

\n\n

在此输入图像描述

\n\n

有关该主题的更多信息,例如此处此处

\n\n
\n\n

我还可以将该图和 extrafont 集成到一个闪亮的应用程序中,该应用程序在本地运行,如下所示:

\n\n
library(ggplot2)\nlibrary(extrafont)\nlibrary(shiny)\n\nfont_import(paths = "www", pattern = "comic", prompt = FALSE)\nloadfonts()\nprint(fonts())\n\nui <- fluidPage(plotOutput("plot"),textOutput("fonts"))\n\nserver <- function(input, output) {\n   output$plot <- renderPlot({\n     ggplot(mapping=aes(x=seq(1,10,.1), y=seq(1,10,.1))) + \n       geom_line(position="jitter", color="red", size=2) + theme_bw() +\n       theme(text=element_text(size=16,  family="Comic Sans MS"))\n   })\n   output$fonts <- renderText(print(fonts()))\n}\n\nshinyApp(ui = ui, server = server)\n …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 shiny extrafont

5
推荐指数
1
解决办法
2039
查看次数

无法安装 xkcd 字体

我按照小插图中给出的说明尝试使用 xkcd 字体: vignette("xkcd-intro")

但是在以下步骤中出现错误:

> system("cp xkcd.tff -t ~/.fonts")
cp: xkcd.tff: No such file or directory
cp: -t: No such file or directory
Run Code Online (Sandbox Code Playgroud)

该怎么办??

r

4
推荐指数
1
解决办法
2515
查看次数