2012-06-12 2 views
6

시계열을 ggplot()으로, 타임 라인을 strptime()으로하여 플롯하고 싶습니다.ggplot2는 로케일 범주를 무시합니다. LC_TIME?

지금까지 확인 : 시간 축에서 몇 달 동안 독일어 약어가 표시되고 내 로컬 언어가 Sys.setlocale("LC_TIME"="de_DE.UTF-8")으로 설정되었습니다. 내 데이터가 months() 인 경우 독일어로도 표시됩니다.

이상한 : 로케일을 Sys.setlocale("LC_TIME"="en_GB.UTF-8")으로 설정하면 months()은 영어 월을 제공하지만 ggplot()은 시간 축에서 몇 개월 동안 계속해서 독일어 약어를 사용하게됩니다.

나는 Sys.setlocale()의 다른 카테고리를 시도했지만 아무 소용이 없습니다.

ggplot()은 어떤 언어를 선택해야합니까?

+1

당신이 재현 예제를 만들 수 있을까? –

+0

재현성은 시스템의 로켈에 따라 다릅니다. 내 것은 "de_DE.UTF-8"입니다. 그러나 다음은 로캘이 영어로 설정된 경우에도 몇 개월 동안 독일어 약자를 제공합니다. Sys.setlocale ("LC_TIME", "en_GB.UTF-8"); data = - data.frame (date = strptime (sort) (ISOdate (2010, 샘플 (1:12, 40, replace = TRUE), 샘플 (1 : 28,40, replace = TRUE))), format = "% Y - % m- % d "), 값 = runif (4,0,10,12)); ggplot (data, aes (date, value)) + geom_point() – lambu0815

답변

0

상수를 확인한 다음 원하는 값으로 month.abb 값을 변경하십시오. 아마도 :

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

month.abb는 이미 영어로되어 있습니다. 이것은 obivously 아니고, ggplot ist는 무엇을 찾고 있습니다. – lambu0815

0

그래, 조금 이상합니다.

(예 : R을 시작한 후) ggplot()은 Sys.setlocale()의 영향을받을 수 있습니다. 첫 번째 드로잉이 하나의 데이터 프레임 설정으로 완료된 후 다른 로케일은 해당 데이터 프레임에 대해 무시됩니다.

3

나는이 응답으로 얼마나 늦었는지 깨닫는다.하지만 해결책을 찾는 동안 나는 똑같은 문제를 겪었고 스레드를 발견했다. 나를 위해

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

그것을 해결했다. 작동하도록

0

가장 쉬운 방법은 다음과 같습니다

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

모든 ggplots이 적절한 날짜 레이블이 후. 당신은 단지 시간 형식을 변경해야하는 경우

이 충분해야합니다

Sys.setlocale("LC_TIME", "en_US.UTF-8") 
관련 문제