【问题标题】:Using ggplot2 and special characters使用 ggplot2 和特殊字符
【发布时间】:2015-10-28 22:48:59
【问题描述】:

我正在从网站读取数据,其中包含用于标识每一行的文本。我只是将数据复制并粘贴到 Excel 中,然后 R 读取该文件。其中一行包含德国城市的名称“维尔茨堡”,其中包含带有变音符号的小写 u。我在网络或 Excel 上看到特殊字符没有问题。问题是,当这个词被传递给 ggplot2 时,它在图中显示为“WÃzburg”,波浪号在大写字母 A 上。RStudio 根据显示的区域显示两种形式。我假设ggplot2 使用不同的语言来解释特殊字符。

有没有办法告诉 ggplot 如何读取、解释和显示特殊字符?我不想只为这个城市编写专门的代码,而是为了解决一般问题。随着数据随着时间的推移,我可能会遇到其他字符。

【问题讨论】:

  • 您可能需要考虑字符串的 unicode 表示。 Here 是一个相关的帖子。你可能需要this

标签: r excel ggplot2 special-characters


【解决方案1】:

当我使用硬编码的data.frame 时,ggplot2 遇到了类似的错误(即,我会写 Großbritannien(英国),它会被编码为一些乱码)。

我的解决方案是包含

Sys.setlocale("LC_ALL", "German")
options(encoding = "UTF-8")

在脚本的开头。

【讨论】:

    【解决方案2】:

    如下读取文件

    library('data.table')
    fread('path_to_file', ..., encoding = 'UTF-8')
    

    【讨论】:

    • 谢谢!我为 read.xlsx 添加了编码,效果很好。这可能会被广泛使用。
    【解决方案3】:

    我对这个问题的解决方案是切换到cairo 进行 pdf 绘图。 ggplot2 正确显示所有特殊字符。将这行代码放在knitr设置中就足够了:

    knitr::opts_chunk$set(dev='cairo_pdf')
    

    【讨论】:

    • 谢谢。这看起来是一种宝贵的资源。
    猜你喜欢
    • 2015-07-10
    • 2014-11-03
    • 2012-09-24
    • 2011-05-17
    • 2016-12-08
    • 2011-05-03
    • 2019-09-05
    • 2017-02-27
    相关资源
    最近更新 更多