IT TIP

ggplot 축 레이블의 아래 첨자 문자

itqueen 2020. 12. 12. 12:53
반응형

ggplot 축 레이블의 아래 첨자 문자


출판을위한 또 다른 그래프, 또 다른 날은 ggplot2에서 일을 조정했습니다 ... 내가 징징 대는 건가요? 잘 모르겠어요 ...

dat <- data.frame(x = rnorm(100), y = rnorm(100))
ggplot(dat, aes(x=x,y=y)) +
    geom_point() +
    labs(y=expression(Blah[1]))

dat <- data.frame(x = rnorm(100), y = rnorm(100))
ggplot(dat, aes(x=x,y=y)) +
    geom_point() +
    labs(y=expression(Blah[1d]))

축 레이블에 아래 첨자를 사용하는 방법을 알아 내려고합니다. 첫 번째 예제는 대괄호 안에 문자가 있으면 실패하는 즉시 숫자로 작동합니다. Blah [subscript (1d)]는 본질적으로 내가 필요로하는 것인데, 어떻게하면 아래 첨자에 글자를 넣을 수 있는지 알아낼 수 없습니다. paste () 등을 포함한 변형을 시도했습니다.

물론 좌절감을 더하기 위해 ...

labs(y=expression(Blah[12])) -작동합니다

labs(y=expression(Blah[d])) -작동합니다

labs(y=expression(Blah[d1])) -작동합니다

labs(y=expression(Blah[1d])) -이것은 실패합니다.

생각?


사용하는 것보다 두 가지 더 나은 방법을 생각할 수 있습니다 paste.

 ggplot(dat, aes(x=x,y=y)) +
     geom_point() +
     labs(y=expression(Blah[1*d]))
 ggplot(dat, aes(x=x,y=y)) +
     geom_point() +
     labs(y=expression(Blah["1d"]))

R의 토큰 (또는 "이름"또는 "기호")은 숫자로 시작하지 않아야합니다. 따라서 따옴표 또는 분리 1d공백이 아닌 구분 기호 인 *연산자 를 사용하여 이러한 제한을 피할 수 있습니다. 이는 합법적 인 R 기호 또는 토큰으로 순수한 숫자 리터럴을 "결합"또는 "연결"합니다.

구독 취소 된 백분율 기호를 얻으려면 :

 ggplot(dat, aes(x=x,y=y)) +
    geom_point() +
    labs(y=expression(Blah[1*d]*"%"))

pct 기호 주위에 괄호를 넣으려면 :

expression(Blah[1*d]*"(%)")

%는 사용자 정의 중위 연산자의 시작을 의미하기 때문에 문자, R 구문 분석에 특별한 의미가 있습니다. 따라서 리터럴로 사용하려면 인용해야합니다. 같은 추론 "의"다른 예약어가 있습니다 그들은 R.의 "예약어"그룹에 있기 때문에, 인용 (그러나 수 "를"taht를을 필요로 for하고 in. 그 여행 날까지 대부분 사람들이다) 유형 :

 ?Reserved

괜찮아. 나는 그것을 얼마나 빨리 얻었는지에도 불구하고 (항상 질문을 할 때!) 스스로 대답하기 위해 이것을 게시하지 않았다고 맹세합니다.

여기있어:

ggplot(dat, aes(x=x,y=y)) +
    geom_point() +
    labs(y=expression(Blah[1][d]))

언젠가 다른 사람에게 도움이 될 수 있으므로 질문을 삭제하는 것보다 답변을 게시하는 것이 가장 좋습니다.

'Blahs'는 제쳐두고 내가 실제로 원했던 것은 expression(paste("Hb", A[1][c]," (%)",sep=""))

paste0()여기서 작동하지 않는 이유 는 저 밖에 있습니다.

참고URL : https://stackoverflow.com/questions/17334759/subscript-letters-in-ggplot-axis-label

반응형