geom_text에 붙여 넣은 다른 열을 기반으로 색상을 지정할 수 있습니까?

모카시

ggplot이 있고 geom_text플롯에 열 값을 붙여 넣어야 합니다. 실제로 내 플롯에 여러 열을 붙여 넣었습니다. 색상에 따라 컬럼을 구분할 수 있습니까?

df <- data.frame(YearMonth = c(200606,200606,200608,200701,200703,200605),
             person1 = c('Alice','Bob','Alice','Alice','Bob','Alice'),
             person2 = c('Bob','Alice','Bob','Bob','Alice','Bob'),
             Event = c('event1','event2','event3','event3','event2','event4')
             )

df$YM <- as.Date(paste0("01",df$YearMonth), format="%d%Y%m")
rangeYM <- range(df$YM)
ypts <- rep_len(c(-1,1), length.out=nrow(df))

아래는 플로팅에 사용한 코드입니다.

ggplot()+geom_blank(aes(x= rangeYM, y = c(-1,1))) + labs(x = "", y = "") +
theme(axis.ticks = element_blank()) +
geom_hline(yintercept = 0, col = 'maroon') +
geom_segment(aes(x = df$YM, y = 0, xend = df$YM, yend = ypts), arrow = arrow(length = unit(0.2,"cm"))) +
scale_x_date(date_labels = '%b-%y', date_breaks = "month", minor_breaks = NULL) +
scale_y_continuous(minor_breaks = NULL) +
geom_text(aes(x = df$YM, y = 0, label = paste(format(df$YM, "%b-%y")), vjust = 1.5), colour = "#5B7FA3", size = 3, fontface = "bold") +
geom_text(aes(x = df$YM, y = ypts, label = paste(df$person1,df$person2,df$Event,sep="\n")))

그것이 dataframe로부터 알 수있는 바와 같이 person1, person2, Event열이며 동일 색으로 표현된다. 나는 포함하여 다른 색상을 지정 시도 colour에서 aesgeom_text다음과 같습니다.

geom_text(aes(x = df$YM, y = c(-1,1), label = paste(df$person1,df$person2,df$Event,sep="\n"), colour = factor(df$person1,df$person2,df$Event)))

그러나 이것은 나에게 오류를 준다. 요소에 하나의 열을 포함하면 즉 colour = factor(df$Person1), Person1 열의 값에 다른 색상을 할당합니다. 하지만 플롯에 여러 열을 붙여 넣을 때 열을 기준으로 색상을 구분하고 싶습니다.

그렇게 할 수있는 옵션이 있으면 도와주세요.

Axeman

이 경우에는 별도의 기하학을 사용하는 것이 가장 쉬운 것 같습니다.

또한 data전역 환경에서 개체를 사용하거나 .NET Framework에서 $표기법 을 사용하는 대신 data.frames를 인수에 전달하는 것이 좋습니다 aes. 내 경험상, 이것은 어느 시점에서 당신을 뒤에서 물고 나쁜 습관입니다.

ggplot()+geom_blank(aes(x= rangeYM, y = c(-1,1))) + labs(x = "", y = "") +
  theme(axis.ticks = element_blank()) +
  geom_hline(yintercept = 0, col = 'maroon') +
  geom_segment(aes(x = df$YM, y = 0, xend = df$YM, yend = ypts), arrow = arrow(length = unit(0.2,"cm"))) +
  scale_x_date(date_labels = '%b-%y', date_breaks = "month", minor_breaks = NULL) +
  scale_y_continuous(minor_breaks = NULL) +
  geom_text(aes(x = df$YM, y = 0, label = paste(format(df$YM, "%b-%y")), vjust = 1.5), colour = "#5B7FA3", size = 3, fontface = "bold") +
  geom_text(aes(x = YM, y = ypts, label = person1), df, col = 'red', nudge_y = .1) +
  geom_text(aes(x = YM, y = ypts, label = person2), df, col = 'darkgreen') +
  geom_text(aes(x = YM, y = ypts, label = Event), df, col = 'blue', nudge_y = -.1)

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

r의 다른 변수에있는 값을 조건부로 기반으로하는 변수에 값을 붙여 넣는 방법은 무엇입니까?

분류에서Dev

변수를 기반으로 시계열에 여러 색상을 지정할 수 있습니까?

분류에서Dev

Excel : 셀에 붙여 넣기 작업을 방지 할 수 있습니까?

분류에서Dev

OpenCV에서 다른 이미지 위에 이미지를 붙여 넣을 수 있습니까?

분류에서Dev

기본적으로 일반 텍스트를 붙여 넣을 수 있습니까?

분류에서Dev

조건을 한 번만 지정하여 tibble의 다른 열 값을 기반으로 둘 이상의 열을 변경할 수 있습니까?

분류에서Dev

고유 한 값을 기반으로 여러 data.table 열을 단일 열에 붙여 넣습니다.

분류에서Dev

"Ctrl + Shift + V"를 사용하여 서식이 지정되지 않은 일반 텍스트를 Word 문서에 붙여 넣을 수 있습니까?

분류에서Dev

"Ctrl + Shift + V"를 사용하여 서식이 지정되지 않은 일반 텍스트를 Word 문서에 붙여 넣을 수 있습니까?

분류에서Dev

프로그램 폴더를 잘라내어 다른 내부 HDD에 붙여 넣어도 프로그램을 실행할 수 있습니까?

분류에서Dev

행을 결합하지만 다른 값을 r의 한 열에 붙여 넣는 방법은 무엇입니까?

분류에서Dev

특정 배치 파일에 긴 문자열을 붙여 넣으면 일부만 붙여 넣습니다.

분류에서Dev

입력 필드의 값을 복사하여 붙여 넣으려고 할 때 : 정의되지 않은 'nodeType'속성을 읽을 수 없습니다.

분류에서Dev

신경망은 다른 시계열을 기반으로 시계열을 예측할 수 있습니까?

분류에서Dev

Jupyter Notebook에서 붙여 넣은 이미지의 크기를 조정할 수 있습니까?

분류에서Dev

첫 번째 행을 새 열에 붙여 넣기-다른 모든 행을 붙여 넣지 않고

분류에서Dev

Excel VBA 비어 있지 않은 배열 항목을 수식이 포함 된 셀 범위에 붙여 넣기

분류에서Dev

R Shiny는 붙여 넣은 개체에 반응 값을 할당합니다.

분류에서Dev

집 / 선택하여 붙여 넣기 / 사진에 대한 기본 이미지 유형을 설정할 수 있습니까?

분류에서Dev

같은 줄에있는 동안 콘솔의 텍스트 색상과 배경색을 다른 색상으로 변경할 수 있습니까? C ++

분류에서Dev

오류 : PowerPoint에서 도형을 PNG 형식으로 붙여 넣을 때 "지정된 데이터 형식을 사용할 수 없습니다."

분류에서Dev

다른 열을 기반으로 pandas 열에 어떻게 추가 할 수 있습니까?

분류에서Dev

텍스트 파일의 내용을 복사하여 특정 줄에서 시작하는 다른 파일에 어떻게 붙여 넣을 수 있습니까?

분류에서Dev

Vim은 복사-붙여 넣기 공격에 영향을받지 않습니까?

분류에서Dev

다른 Googlesheet의 마지막 행에 셀 값을 자동으로 붙여 넣기

분류에서Dev

textAngular에 붙여 넣는 내용을 수정하는 방법이 있습니까?

분류에서Dev

결과를 특수하게 붙여 넣는 대신 XSD 체계를 기반으로 xml을 역 직렬화 할 수 있습니까?

분류에서Dev

브라우저에서 Outlook으로 * 직접 * 이미지를 복사하여 붙여 넣을 수 없습니다.

분류에서Dev

배열의 값을 변수에 붙여 넣으려고합니다.

Related 관련 기사

  1. 1

    r의 다른 변수에있는 값을 조건부로 기반으로하는 변수에 값을 붙여 넣는 방법은 무엇입니까?

  2. 2

    변수를 기반으로 시계열에 여러 색상을 지정할 수 있습니까?

  3. 3

    Excel : 셀에 붙여 넣기 작업을 방지 할 수 있습니까?

  4. 4

    OpenCV에서 다른 이미지 위에 이미지를 붙여 넣을 수 있습니까?

  5. 5

    기본적으로 일반 텍스트를 붙여 넣을 수 있습니까?

  6. 6

    조건을 한 번만 지정하여 tibble의 다른 열 값을 기반으로 둘 이상의 열을 변경할 수 있습니까?

  7. 7

    고유 한 값을 기반으로 여러 data.table 열을 단일 열에 붙여 넣습니다.

  8. 8

    "Ctrl + Shift + V"를 사용하여 서식이 지정되지 않은 일반 텍스트를 Word 문서에 붙여 넣을 수 있습니까?

  9. 9

    "Ctrl + Shift + V"를 사용하여 서식이 지정되지 않은 일반 텍스트를 Word 문서에 붙여 넣을 수 있습니까?

  10. 10

    프로그램 폴더를 잘라내어 다른 내부 HDD에 붙여 넣어도 프로그램을 실행할 수 있습니까?

  11. 11

    행을 결합하지만 다른 값을 r의 한 열에 붙여 넣는 방법은 무엇입니까?

  12. 12

    특정 배치 파일에 긴 문자열을 붙여 넣으면 일부만 붙여 넣습니다.

  13. 13

    입력 필드의 값을 복사하여 붙여 넣으려고 할 때 : 정의되지 않은 'nodeType'속성을 읽을 수 없습니다.

  14. 14

    신경망은 다른 시계열을 기반으로 시계열을 예측할 수 있습니까?

  15. 15

    Jupyter Notebook에서 붙여 넣은 이미지의 크기를 조정할 수 있습니까?

  16. 16

    첫 번째 행을 새 열에 붙여 넣기-다른 모든 행을 붙여 넣지 않고

  17. 17

    Excel VBA 비어 있지 않은 배열 항목을 수식이 포함 된 셀 범위에 붙여 넣기

  18. 18

    R Shiny는 붙여 넣은 개체에 반응 값을 할당합니다.

  19. 19

    집 / 선택하여 붙여 넣기 / 사진에 대한 기본 이미지 유형을 설정할 수 있습니까?

  20. 20

    같은 줄에있는 동안 콘솔의 텍스트 색상과 배경색을 다른 색상으로 변경할 수 있습니까? C ++

  21. 21

    오류 : PowerPoint에서 도형을 PNG 형식으로 붙여 넣을 때 "지정된 데이터 형식을 사용할 수 없습니다."

  22. 22

    다른 열을 기반으로 pandas 열에 어떻게 추가 할 수 있습니까?

  23. 23

    텍스트 파일의 내용을 복사하여 특정 줄에서 시작하는 다른 파일에 어떻게 붙여 넣을 수 있습니까?

  24. 24

    Vim은 복사-붙여 넣기 공격에 영향을받지 않습니까?

  25. 25

    다른 Googlesheet의 마지막 행에 셀 값을 자동으로 붙여 넣기

  26. 26

    textAngular에 붙여 넣는 내용을 수정하는 방법이 있습니까?

  27. 27

    결과를 특수하게 붙여 넣는 대신 XSD 체계를 기반으로 xml을 역 직렬화 할 수 있습니까?

  28. 28

    브라우저에서 Outlook으로 * 직접 * 이미지를 복사하여 붙여 넣을 수 없습니다.

  29. 29

    배열의 값을 변수에 붙여 넣으려고합니다.

뜨겁다태그

보관