두 개의 플롯 동일한 x 축, 두 개의 y 축-그리드에서 플롯을 정렬하는 방법

안드레이 포 페스 쿠

내가 좋아하는 그래프 만들기 위해 노력하고 이 하나를 사용 ggplot2하고 gridExtra패키지,하지만 내 두 개의 플롯이 제대로 다른 미만으로 정렬되지 않습니다. 내 데이터 세트는 coinmarketcap의 비트 코인에 대한 과거 데이터입니다.

library(ggplot2)
library(scales)
library(gridExtra)

bitc$Date <- as.Date(bitc$Date,"%m/%d/%Y")
bitc$Close <- bitc$Close/1000
bitc$Market_Cap <- bitc$Market_Cap/1000000000
bitc$Volume <- bitc$Volume/1000000000


q <- ggplot(bitc,aes(bitc$Date))+
  geom_line(aes(y=bitc$Close,colour="Close"))+
  theme_bw() +
  theme(plot.margin = unit(c(1,5,-30,6),units="points"),
        axis.title.y = element_text(vjust =0.25)) +
  scale_x_date(breaks=date_breaks("6 months"))+
  xlab("Timp")+
  ylab("Price (thous. USD)")

q <- q + geom_line(aes(y=bitc$Market_Cap/10,colour="Market_Cap"))
q <- q + scale_y_continuous(sec.axis = sec_axis(~.*10, name = "Market Cap (bld. USD)"))
q

p <- ggplot(bitc, aes(bitc$Date))+
  theme_bw() +
  theme(plot.margin = unit(c(0,5,1,1),units="points")) +
  geom_line(aes(y=bitc$Volume, colour="Volum"))+
  scale_x_date(breaks=date_breaks("6 months"))+
  scale_color_manual(values="green")+
  xlab("Time")+
  ylab("Volume (bld. USD)")

p
grid.arrange(q,p,heights = c(4/5,1/5))

https://imgur.com/a/mQEP3ZG

의 출력 dput(head(bitc,20)):

bitc <- structure(list(Date = structure(c(15823, 15824, 15825, 15826, 
15827, 15828, 15829, 15830, 15831, 15832, 15833, 15834, 15835, 
15836, 15837, 15838, 15839, 15840, 15841, 15842), class = "Date"), 
    Open = c(135.3, 134.44, 144, 139, 116.38, 106.25, 98.1, 112.9, 
    115.98, 112.25, 109.6, 113.2, 112.8, 117.7, 115.64, 114.82, 
    117.98, 111.4, 114.22, 118.21), High = c(135.98, 147.49, 
    146.93, 139.89, 125.6, 108.13, 115, 118.8, 124.66, 113.44, 
    115.78, 113.46, 122, 118.68, 117.45, 118.7, 119.8, 115.81, 
    118.76, 125.3), Low = c(132.1, 134, 134.05, 107.72, 92.28, 
    79.1, 92.5, 107.14, 106.64, 97.7, 109.6, 109.26, 111.55, 
    113.01, 113.43, 114.5, 110.25, 103.5, 112.2, 116.57), Close = c(0.13421, 
    0.14454, 0.139, 0.11699, 0.10521, 0.09775, 0.1125, 0.11591, 
    0.1123, 0.1115, 0.11357, 0.11267, 0.1172, 0.11524, 0.115, 
    0.11798, 0.1115, 0.11422, 0.11876, 0.12301), Volume = c(0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), 
    Market_Cap = c(1.488566728, 1.603768865, 1.542813125, 1.298954594, 
    1.168517495, 1.085995169, 1.250316563, 1.288693176, 1.24902306, 
    1.2405936, 1.264049202, 1.254535382, 1.30547908, 1.284207489, 
    1.281982625, 1.315710011, 1.243874488, 1.274623813, 1.325726787, 
    1.373723882)), .Names = c("Date", "Open", "High", "Low", 
"Close", "Volume", "Market_Cap"), row.names = c(NA, 20L), class = "data.frame")
발렌틴

벌써 잘한 것 같아요. cowplot패키지, 특히 plot_grid여러 플롯을 그리드에 멋지게 배열 하는 기능 을 사용해 보는 것이 좋습니다 . 여기 에서 패키지에 대한 비 네트를 찾을 수 있습니다 .

library(cowplot)
plot_grid(q,p, align = "hv", ncol = 1, rel_heights = c(4/5, 1/5))

귀하가 제공 한 데이터와 코드를 통해 위의 내용 plot_grid은 다음과 같습니다.

여기에 이미지 설명 입력

그건 그렇고, 인터랙티브 플롯을 원한다면 plotly패키지를 사용해보십시오 . "ggplot"을 사용하여 대화 형으로 만들려고 시도합니다. 다음을 시도해보십시오.

library(plotly)
ggplotly(q)

추가 정보 plotly: CRAN 페이지 , 기본 웹 페이지 또는 이 책 . ASE의 동료와 교수들에게 깊은 인상을 심어 주면 좋을 것입니다.;) 계속해서 멋진 작업을 & "Sarbatori Fericite!".

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Matlab A 플롯에 두 개의 X 축을 삽입하는 방법

Matplotlib-Twiny : 한 플롯에서 두 개의 x 축 값을 정렬하는 방법은 무엇입니까?

R의 동일한 플롯에서 다른 x 및 y 축으로 두 개의 막대 그래프를 만드는 방법은 무엇입니까?

Matplotlib : x / y 축이 같지만 하나는 y 축을 따라 다른 하나에서 시작하는 두 개의 막대 플롯을 그리는 방법

0선의 동일한 위치에 두 개의 y축을 플롯

하나의 x축과 두 개의 y축이 있는 플롯에서 오차 막대를 오른쪽 y축의 치수로 조정하는 방법

플롯으로 하나의 x 축과 두 개의 y 축으로 선 곡선을 그리는 방법은 무엇입니까?

서브 플롯에서 두 개의 y 축 색상 설정

플롯에서 두 개의 y 축에 대한 하나의 제로 라인

파이썬에서 두 개의 다른 Y 축으로 플롯을 만드는 방법

R plotrix 패키지를 사용하여 두 개의 y 축 플롯에서 두 포인트 그룹에 대한 회귀선을 각각 추가하는 방법

동일한 축에 두 개의 그래프를 표시하는 하위 플롯

R-플롯 중간에 0이 정렬 된 두 개의 y 축이있는 방법

플롯 선 스타일을 변경하고 하나의 x 축에 두 개의 Y 축을 사용하려면 어떻게합니까?

플로팅하지 않고 축 제한 확장 (두 개의 플롯을 x 단위로 정렬하기 위해)

Matplotlib : 각각 두 개의 y 축을 사용하여 두 개의 서브 플롯을 만듭니다.

여러 matplotlib 서브 플롯에서 두 개의 y 축 공유

두 개의 변수, 두 개의 y 축 플롯에 추세선을 추가하는 방법은 무엇입니까?

두 개의 coord_polar 플롯을 공통 x 축과 병합하고 x 축 스케일 바 추가

동일한 qtchart에 캔들 스틱과 5 일 평균 라인을 플로팅하지만 두 개의 x 축 플롯을 제공합니다.

Matplotlib 두 개의 y 축에서 플로팅하는 방법

xy 플롯에 두 개의 Y 축 추가

두 개의 y 축이있는 플롯의 하나의 y 축에 눈금 표시 추가

R에서 단일 x 축으로 두 개의 그룹화된 막대 그래프(수직)를 플롯하는 방법은 무엇입니까?

두 개의 y 축이있는 두 개의 데이터 프레임에서 플롯 생성

이중 Y 축 플롯이있는 4 개의 서브 플롯을 그리는 방법

matplotlib에서 3 개의 다른 x 축과 동일한 y 축으로 플롯 하시겠습니까?

동일한 플롯의 python (matplotlib)에서 두 플롯을 구별하는 방법

동일한 플롯의 python (matplotlib)에서 두 플롯을 구별하는 방법

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관