Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2是否忽略区域设置类别LC\U时间?_R_Ggplot2_Locale - Fatal编程技术网

R ggplot2是否忽略区域设置类别LC\U时间?

R ggplot2是否忽略区域设置类别LC\U时间?,r,ggplot2,locale,R,Ggplot2,Locale,我想用ggplot()绘制一个时间序列,时间线是用strtime()创建的 到目前为止还可以:我得到了时间轴上月份的德语缩写,我的语言环境设置为Sys.setlocale(“LC\u time”=“de\u de.UTF-8”)。当我对我的数据进行months()时,它们也会以德语显示 怪异:当我将语言环境设置为Sys.setlocale(“LC_TIME”=“en_GB.UTF-8”)时,months()将给我英语月份,但ggplot()将在时间轴上继续使用德语缩写 我尝试了一些其他类别的Sy

我想用
ggplot()
绘制一个时间序列,时间线是用
strtime()创建的

到目前为止还可以:我得到了时间轴上月份的德语缩写,我的语言环境设置为
Sys.setlocale(“LC\u time”=“de\u de.UTF-8”)
。当我对我的数据进行
months()
时,它们也会以德语显示

怪异:当我将语言环境设置为
Sys.setlocale(“LC_TIME”=“en_GB.UTF-8”)
时,
months()
将给我英语月份,但
ggplot()
将在时间轴上继续使用德语缩写

我尝试了一些其他类别的
Sys.setlocale()
,但没有成功


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

查看?常量,然后将month.abb的值更改为所需值。也许:

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

abb好的,这有点奇怪


对于新的工作区(例如启动R后),ggplot()可能会受到Sys.setlocale()的影响。在使用一个数据帧设置完成第一个绘图后,其他区域设置将被忽略。我意识到我做出此响应有多晚,但我在寻找解决方案时遇到了同样的问题,并偶然发现了您的线程

对我来说

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

解决了它。

让它工作的最简单方法是:

Sys.setlocale("LC_ALL", "en_US.UTF-8")
之后,所有GGPlot都有一个合适的日期标签

如果您只需要更改时间格式,这就足够了:

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

你能创建一个可复制的例子吗?嗯,可复制性取决于系统的区域设置。我的是“德乌德UTF-8”。但是,即使locale设置为英语,以下内容也会给出几个月的德语缩写:Sys.setlocale(“LC_TIME”,“en_GB.UTF-8”);data month.abb已使用英语。这显然不是我要找的。