相关疑难解决方法(0)

R图中的字体

什么图形设备让我在图表中使用系统字体文本?基本图形系统只有少量关于par(family=...)选项的文档.

理想情况下,我希望能够使用任何字体,我可以浏览xfontselLinux上的工具或其他平台上的等效工具.

我目前的解决方案是绘制为PDF,然后使用第三方程序替换PDF中的字体.这不太理想.

graphics fonts r

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

ggplot2 PDF输出中的Unicode字符

如何在使用ggplot2创建的PDF图中为标签,标题和类似内容使用Unicode字符?

请考虑以下示例:

library(ggplot2)
qplot(Sepal.Length, Petal.Length, data=iris, main="A?????????????????s????x??")
ggsave("t.pdf")
Run Code Online (Sandbox Code Playgroud)

图表的标题使用Unicode字符(小型大写字母),在输出中显示为....只有pdf图才会出现问题; 如果我用最后一行替换ggsave("t.png"),那么输出就是预期的.

我究竟做错了什么?我的R脚本是UTF-8编码.一些系统信息:

R version 2.14.1 (2011-12-22)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
Run Code Online (Sandbox Code Playgroud)

在寻找这个问题的解决方案时,我发现一些证据表明R使用单字节编码进行多字节编码,例如UTF-8用于PDF或postscript输出.我还发现了一些建议,例如,能够让欧元符号正常工作,但没有一般解决方案.

unicode r utf-8 ggplot2

24
推荐指数
2
解决办法
9628
查看次数

使用unicode字符作为形状

我想在ggplot中使用unicode字符作为绘图的形状,但由于未知原因它们不会渲染.我确实在这里找到了类似的查询,但是我也无法使这个例子工作.

任何线索为什么?

请注意,我不想将unicode字符用作"调色板",我希望绘制的每个项目geom_point()都是相同的形状(颜色将指示相关变量).

运行

Sys.setenv(LANG = "en_US.UTF-8")
Run Code Online (Sandbox Code Playgroud)

并重新启动R没有帮助.在sprintf()中包装unicode也没有用.

这是一个示例代码,用于说明问题:

library(tidyverse)
library(ggplot2)
library(Unicode)

p1 = ggplot(mtcars, aes(wt, mpg)) +
  geom_point(shape="\u25D2", colour="red", size=3) +
  geom_point(shape="\u25D3", colour="blue", size=3) + 
  theme_bw()

plot(p1)
Run Code Online (Sandbox Code Playgroud)

这就是结果.

在此输入图像描述

我使用macOS Sierra(10.13.6),R版本3.5.1和Rstudio 1.0.143.

感谢任何帮助!我一直在寻找一些寻找解决方案并发布到#Rstats的论坛,到目前为止没有任何效果.可能是解决方案隐藏在某个地方的某个线程中,但如果是这样,我就无法检测到它,我怀疑其他人也错过了它.所以,在这里,我正在制作我的第一篇文章,以堆栈溢出:)

unicode r ggplot2

9
推荐指数
1
解决办法
613
查看次数

更改ggplot2中标记的厚度

我使用以下代码制作一个具有比例点的地图到一个外部特征(总计),但我想改变标记的宽度.

p <- ggplot()
p <- p + geom_polygon( data=all_states, aes(x=LONG*-1, y=LAT, group = ID),colour="black",              fill="white" )
p <- p + geom_point( data=mydata, aes(x=long*-1, y=lat, size = Total),color="mediumblue",     shape=1) +
scale_size(range = c(1,11), name="Sells Volume")+
labs(title="Reglone SL")+
xlab(" ")+
ylab(" ")
p
Run Code Online (Sandbox Code Playgroud)

r map ggplot2

6
推荐指数
1
解决办法
5043
查看次数

标签 统计

r ×4

ggplot2 ×3

unicode ×2

fonts ×1

graphics ×1

map ×1

utf-8 ×1