ggplot의 패싯을 여기서 사용할 수 있습니까?

ixodid

Tidyville에 오신 것을 환영합니다.

아래는 Tidyville의 도시 인구를 보여주는 작은 df입니다. 일부 도시는 A 주에 속하고 일부는 B 주에 속합니다.

인구가 감소한 도시를 빨간색으로 강조하고 싶습니다. 지금까지 임무를 완수했습니다.

그러나 Tidyville에는 많은 주가 있습니다. ggplot의 패싯 패싯을 사용하여 각 상태에 대한 플롯을 표시하는 방법이 있습니까? 나는 새롭고 인구가 감소한 도시를 식별하기 위해 ggplot 호출 밖에서 약간의 계산을 수행하기 때문에 불확실합니다.

library(ggplot2)
library(tibble)

t1 <- tibble (
  y2001 = c(3, 4, 5, 6, 7, 8, 9, 10),
  y2016 = c(6, 3, 9, 2, 8, 2, 11, 15),
  type = c("A", "A", "B", "B", "A", "A", "B", "B")
)

years <-  15
y2001 <- t1$y2001
y2016 <- t1$y2016

# Places where 2016 pop'n < 2001 pop'n
yd <- y2016 < y2001

decrease <- tibble (
  y2001 = t1$y2001[yd],
  y2016 = t1$y2016[yd]
)

# Places where 2016 pop'n >= 2001 pop'n
yi <- !yd

increase <- tibble (
  y2001 = t1$y2001[yi],
  y2016 = t1$y2016[yi]
)

ggplot() + 
  # Decreasing
  geom_segment(data = decrease, aes(x = 0, xend = years, y = y2001, yend = y2016), 
             color = "red") +

  # Increasing or equal
  geom_segment(data = increase, aes(x = 0, xend = years, y = y2001, yend = y2016), 
             color = "black") 
cparmstrong

중개 단계가 필요하지 않으며 일부 데이터가 손실됩니다. 먼저 생성 한 내용은 그대로 유지합니다.

t1 <- tibble (
  y2001 = c(3, 4, 5, 6, 7, 8, 9, 10),
  y2016 = c(6, 3, 9, 2, 8, 2, 11, 15),
  type = c("A", "A", "B", "B", "A", "A", "B", "B")
)
years <- 15

그러나 모든 분리 및 부분 집합 화를 수행하는 대신 y2016 > y2001.

t1$incr <- as.factor(ifelse(t1$y2016 >= t1$y2001, 1, 0))

그런 다음 ggplot()호출에 대한 데이터 인수를 추출하여 더 효율적으로 만들 수 있습니다. 하나의 geom_segment()인수 만 사용 하고 color()인수를 이전에 만든 더미 변수로 설정합니다 . 그런 다음 scale_fill_manual()value인수 에 색 벡터를 전달해야합니다 . 마지막으로 facet_grid()인수를 추가하십시오 . 하나의 변수에만 패싯하는 경우 물결표의 반대쪽에 마침표를 넣습니다. 기간 첫 번째는 나란히 표시된다는 것을 의미하고 마지막 기간은 각 토어 위에 쌓이는 것을 의미합니다.

ggplot(data = t1) +
  geom_segment(aes(x = 0, xend = years, y = y2001, yend = y2016, color=incr)) +
  scale_fill_manual(values=c("black", "red")) +
  facet_grid(type~.)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Edm.DateTimeOffset 필드의 연도를 기준으로 필터 및 패싯을 사용할 수 있습니까?

ggplot2의 표시기 변수를 패싯 할 수 있습니까?

ggplot을 사용하여 R의 패싯, 누적 막대 그래프에서 다른 geom_text () 레이블을 어떻게 가질 수 있습니까?

Plotly의 사용자 정의 버튼을 사용하여 패싯 플롯에서`shared_yaxes`를 업데이트 할 수 있습니까?

패싯 래핑 된 ggplot에서 동적 축 제한을 설정할 수 있습니까?

ggplot에서 패싯의 스트립 크기를 어떻게 변경할 수 있습니까?

ElasticSearch에서 미리 정의 된 범위 필터 패싯을 생성 할 수 있습니까?

ggplot2에서 여러 채우기 패턴을 사용할 수 있습니까?

패싯 그리드와 알 수 없는 그룹 수를 사용하여 ggplot 함수에서 반복되는 기하 도형 호출을 피합니까?

ggplot2 facet_grid를 사용하여 데이터가없는 패싯에 주석을 달 수 있습니까?

ggplot2 및 패싯을 사용하여 수평 막대 그리기

R의 단위 패키지와 함께 ggplot을 사용할 수 있습니까?

Java Lombok에서 IntelliJ의 '여기까지 데이터 흐름 분석'기능을 사용할 수 있습니까?

PHP에서 $ this의 변수 값을 사용할 수 있습니까?

Solarium은 기본적으로 requestHandler에서 제공하는 모든 패싯을 반환 할 수 있습니까?

기본 요인 수준을 재정렬하지 않고 facet_wrap의 패싯 만 재정렬 할 수 있습니까?

Playframework를 사용하여 ReactiveMongo에서 패싯 집계를 어떻게 수행할 수 있습니까?

ggplot에서 패싯의 이름을 찾는 방법이 있습니까?

여기서 C ++에서 연산자 키워드의 사용은 무엇을 의미 할 수 있습니까?

탈출 기능을 사용자 정의할 수 있습니까?

ggplot 2는 주파수 카운트의 여러 누적 막대 그래프와 함께 패싯 랩을 사용합니다.

OpenGL을 사용하여 Java에서 내 서클의 크기를 어떻게 조정할 수 있습니까?

Dynamo의 PartiQL에서 JOIN을 사용할 수 있습니까?

Flutter의 IconButton 내에서 DropDownButton을 사용할 수 있습니까?

jQuery의 <img>에서 click ()을 사용할 수 있습니까?

ggplot을 사용하여 데이터 및 이미지의 다중 플롯을 생성 할 수 있습니까?

ggplot2를 사용하여 각 패싯 축의 한계와 분할을 변경하는 방법은 무엇입니까? "비함수 적용을 시도하는 x$clone() 오류" 처리

ggplot을 사용하여 여러 패싯이있는 상호 작용 플롯

공기 흐름의 여러 DAGS에서 단일 작업을 사용할 수 있습니까?