티스토리 뷰

첫 번째 y 축을 제공하는 주된 원인 overlaying입니다. 그리고 때문 xaxis이다 count, Income하고 Age있다 y.

plot_ly(data = myDF, alpha = 0.6) %>% 
  add_histogram(y = ~Income, yaxis = "y1") %>%    # not `x =`
    add_histogram(y = ~AgeInTwoYearIncrements, yaxis = "y2") %>% 
      layout(
          title = "Salary vs Age",
              yaxis = list(
                    tickfont = list(color = "blue"),
                          # overlaying = "y",     # the main cause is this line.
                                side = "left",
                                      title = "Income"
                                          ),
                                              yaxis2 = list(
                                                    tickfont = list(color = "red"),
                                                          overlaying = "y",
                                                                side = "right",
                                                                      title = "Age"
                                                                          ),
                                                                              xaxis = list(title = "count")
                                                                                )
                                                                                

여기에 이미지 설명 입력

[편집 됨 : 그냥 뒤집기]
plot_ly(data = myDF, alpha = 0.6) %>% 
    add_histogram(x = ~ Income, xaxis = "x1") %>% 
      add_histogram(x = ~ AgeInTwoYearIncrements, xaxis = "x2") %>% 
        layout(
            margin = list(t = 60),
                title = "Salary vs Age",
                    xaxis = list(
                          tickfont = list(color = "blue"),
                                side = "left",
                                      title = "Income"
                                          ),
                                              xaxis2 = list(
                                                    tickfont = list(color = "red"),
                                                          overlaying = "x",
                                                                side = "top",
                                                                      position = 0.95,
                                                                            title = "<br>Age"
                                                                                ),
                                                                                    yaxis = list(title = "count")
                                                                                      )
                                                                                      

여기에 이미지 설명 입력

-------------------

히스토그램을 혼합 할 수 있습니다.

여기에 이미지 설명 입력

plot_ly(data = myDF, alpha = 0.6) %>% 
  add_histogram(x = ~Income) %>%
    add_histogram(x = ~AgeInTwoYearIncrements) %>%
    layout(
      title = "Salary and Age",
        yaxis = list(
            tickfont = list(color = "blue"),
                overlaying = "y",
                    side = "left",
                        title = "count"
                          ),
                            xaxis = list(title = "Salary and Age value")
                            )
                            

히스토그램은 일반적으로 x 축이 아닌 y 축에 빈도 / 개수를 갖습니다. 원하는대로 다이어그램을 생성 할 수 있지만 여전히 히스토그램인지 확실하지 않습니다.

또한 내 그림에서 보듯이 급여의 빈도 / 수 (여기서는 파란색)가 더 높고 변동성은 연령보다 적습니다. 따라서보기 좋은 다이어그램을 만들기가 어렵습니다. 아마도 이것은 샘플 데이터의 문제 일 수 있습니다.

따라서 히스토그램 기능을 사용하려면 주파수의 의미와 x 축의 값을 반전해야합니다.

그러나 어쨌든, 나는 scaternplot이 급여와 나이 사이의 관계를 보여주는 더 나은 해결책이 될 것이라고 생각합니다.

편집하다:

이것은 내가 코드를 실행할 때 얻는 결과입니다.

여기에 이미지 설명 입력

이렇게 나는 줄거리의 의미와 당신이 원하는 것을 보지 못합니다. 첫 번째 주황색 열의 의미는 데이터 세트에서 59 세가 0 ~ 5 번 발생한다는 것입니다. 세 번째 열은 데이터 세트에서 88 세가 10 ~ 15 번임을 의미합니다. 이 정보를 막대 그래프로 표시하는 것은 작동하지 않습니다. 카운트 범주에 여러 연령 값을 가질 수 있기 때문에 ...이게 분명하길 바랍니다.

어쨌든, 귀하의 질문에 대답하려면 더 많은 설명이 필요합니다.

-------------------

여기에 있는 응답에 따라, 예를 들어 두 개의 겹치는 히스토그램을 그릴 때 다른 사람들이 쉽게 사용할 수있는 예제로 이에 답하고 싶었습니다.

# Add required packages
library(plotly)    

# Make some sample data
a = rnorm(1000,4)
b = rnorm(1000,6)

# Make your histogram plot with binsize set automatically 
fig <- plot_ly(alpha = 0.6) # don't need "nbinsx = 30" 
fig <- fig %>% add_histogram(a, name = "first")
fig <- fig %>% add_histogram(b, name = "second")
fig <- fig %>% layout(barmode = "overlay", 
                      yaxis = list(title = "Frequency"),
                                            xaxis = list(title = "Values"))
                                            
                                            # Print your histogram 
                                            fig
                                            

그리고 다음은 코드의 결과입니다. 완성 된 히스토그램



출처
https://stackoverflow.com/questions/39939999
댓글
공지사항
Total
Today
Yesterday
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30