ggplot2忽略语言环境类别LC_TIME?

时间:2012-06-12 12:41:21

标签: r ggplot2 locale

我想用ggplot()绘制一个时间序列,用strptime()创建时间线。

到目前为止确定:我在时间轴上获得了几个月的德语缩写,我的语言环境设置为Sys.setlocale("LC_TIME"="de_DE.UTF-8")。当我使用我的数据months()时,它们也会以德语显示。

很奇怪:当我将我的区域设置设置为Sys.setlocale("LC_TIME"="en_GB.UTF-8")时,months()会给我英文月份,但ggplot()将在时间轴上继续使用德语缩写数月。

我已经尝试过其他类别的Sys.setlocale(),但无济于事。

ggplot()在哪里获取有关选择哪种语言的信息?

4 个答案:

答案 0 :(得分:3)

我意识到我对此响应有多晚,但我遇到了同样的问题,并在寻找解决方案时偶然发现了你的线程。

对我来说

Sys.setenv(LANGUAGE="en")
Sys.setlocale("LC_TIME", "English")

解决了它。

答案 1 :(得分:0)

看看?常量然后将month.abb的值更改为你想要的值。也许:

    month.abb <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", 
"Oct", "Nov", "Dec")

答案 2 :(得分:0)

好的,这有点奇怪。

使用新的工作空间(例如,在启动R之后)ggplot()可能会受到Sys.setlocale()的影响。在使用一个数据帧设置完成第一个绘图之后,将忽略该数据帧的其他区域设置。

答案 3 :(得分:0)

使其运作的最简单方法是:

Sys.setlocale("LC_ALL", "en_US.UTF-8")

之后,所有ggplots都有正确的日期标签。

如果您只需更改时间格式,则应该足够:

Sys.setlocale("LC_TIME", "en_US.UTF-8")