티스토리 뷰
첫 번째 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