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已使用英语。这显然不是我要找的。