[r] ggplot2에서 그리스어 기호를 사용하는 방법은 무엇입니까?

내 카테고리는 그리스 문자로 이름을 지정해야합니다. 나는을 사용 ggplot2하고 있으며 데이터와 함께 아름답게 작동합니다. 불행히도 나는 그 그리스 기호를 x 축 (눈금 표시)에 배치하고 범례에 표시하는 방법을 알 수 없습니다. 할 방법이 있습니까?

업데이트 : 나는 링크 를 보았지만 내가하고 싶은 것을 성취하기 위해 설명 된 좋은 방법이 없습니다.



답변

다음은 ggplot2에 그리스 기호를 넣는 방법을 설명하는 훌륭한 위키에 대한 링크 입니다. 요약하면 그리스 기호를 얻기 위해 수행하는 작업은 다음과 같습니다.

  1. 텍스트 레이블 : 사용 parse = T내부 geom_textannotate.
  2. 축 레이블 :expression(alpha) 그리스어 알파를 얻는 데 사용 합니다.
  3. 패싯 라벨 :labeller = label_parsed 내부 사용 facet.
  4. 범례 레이블 : 범례 레이블bquote(alpha == .(value)) 에서 사용 합니다.

링크에서 이러한 옵션의 자세한 사용법을 볼 수 있습니다.

편집하다. 눈금 표시를 따라 그리스 기호를 사용하는 목적은 다음과 같이 달성 할 수 있습니다.

require(ggplot2);
data(tips);
p0 = qplot(sex, data = tips, geom = 'bar');
p1 = p0 + scale_x_discrete(labels = c('Female' = expression(alpha),
                                      'Male'   = expression(beta)));
print(p1);

이 작업을 수행 할 때 사용할 수있는 다양한 기호 및 사용 방법에 대한 전체 문서는을 참조하십시오 ?plotmath.


답변

가장 간단한 솔루션 : 유니 코드 문자 사용

아니 expression또는 다른 패키지가 필요하지 않습니다.
이것이 ggplot의 새로운 기능인지 확실하지 않지만 작동합니다. 또한 그리스어와 일반 텍스트를 쉽게 혼합 할 수 있습니다 (예 : 눈금에 ‘*’추가).

텍스트 문자열 내에 유니 코드 문자를 사용하십시오. 내가 생각할 수있는 모든 옵션에 대해 잘 작동하는 것 같습니다.
편집 : 이전에는 패싯 레이블에서 작동하지 않았습니다. 이것은 분명히 어느 시점에서 수정되었습니다.

library(ggplot2)
ggplot(mtcars, 
       aes(mpg, disp, color=factor(gear))) + 
  geom_point() + 
  labs(title="Title (\u03b1 \u03a9)", # works fine
       x= "\u03b1 \u03a9 x-axis title",    # works fine
       y= "\u03b1 \u03a9 y-axis title",    # works fine
       color="\u03b1 \u03a9 Groups:") +  # works fine
  scale_x_continuous(breaks = seq(10, 35, 5), 
                     labels = paste0(seq(10, 35, 5), "\u03a9*")) + # works fine; to label the ticks
  ggrepel::geom_text_repel(aes(label = paste(rownames(mtcars), "\u03a9*")), size =3) + # works fine 
  facet_grid(~paste0(gear, " Gears \u03a9"))

2019-08-28에 reprex 패키지 (v0.3.0)로 생성됨


답변

expression(delta)소문자에 ‘delta’를 사용 δ하고 대문자를 얻으려면 ‘Delta’를 사용하십시오 Δ.

그리스 문자의 전체 목록은 다음과 같습니다.

α α 알파
Β β 베타
Γ γ 감마
Δ δ 델타
Ε ε 엡실론
Ζ ζ 제타
Η η eta
Θ θ theta
Ι ι iota
Κ κ 카파
Λ λ 람다
Μ μ mu
Ν ν nu
Ξ ξ xi
Ο ο omicron
Π π pi
Ρ ρ rho
Σ σ sigma
Τ τ tau
Υ υ 입실론
Φ φ phi
Χ χ chi
Ψ ψ psi
Ω ω omega

편집 : 다른 단어와 함께 사용할 때 주석에서 복사되었습니다.expression(Delta*"price")


답변

원하는 작업 latex2exp을 수행하기 위해 패키지가 필요하지 않습니다 . 다음 코드가 트릭을 수행합니다.

ggplot(smr, aes(Fuel.Rate, Eng.Speed.Ave., color=Eng.Speed.Max.)) + 
  geom_point() + 
  labs(title=expression("Fuel Efficiency"~(alpha*Omega)), 
color=expression(alpha*Omega), x=expression(Delta~price))

여기에 이미지 설명 입력

또한 그리스 문자 뒤에 별표 (*)를 넣는 것에 대해 (이 시점에서 답변되지 않은) 의견이 일부있었습니다. expression(alpha~"*")작동하므로 시도해 보는 것이 좋습니다.

얻는 것에 대해 더 많은 의견을 물었고 Δ Price이를 달성하는 가장 간단한 방법은 expression(Delta~price)). 그리스 문자 앞에 무언가를 추가해야하는 경우 다음과 같이 할 수도
expression(Indicative~Delta~price)있습니다.

여기에 이미지 설명 입력


답변