Как добавить отдельные заголовки в круговые диаграммы, созданные с помощью add_trace в plotly R - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь создать пару круговых диаграмм, используя один и тот же набор данных, но значения переменных будут разными именами столбцов в наборе данных.Мне нужна помощь, чтобы напечатать разные заголовки для каждой напечатанной круговой диаграммы.

Ниже приведен код, который я использую: Ожидание находится под каждой круговой диаграммой, я хочу напечатать заголовок в виде 'mpg', 'disp',«hp» и т. д., поскольку эти наблюдения используются в качестве переменной значения.

        xmtcars<-tibble::rownames_to_column(mtcars,'carname')


           plot_ly(data = xmtcars)%>% add_trace(
           labels =  ~ carname,
           values =  ~ mpg,
           type = 'pie',
            textinfo = 'none',
            name = 'mpg',
            domain = list(x = c(0.0, .1667), y = c(0, 1)))%>% add_trace(
            labels =  ~ carname,
            values =  ~ cyl,
            type = 'pie',
            textinfo = 'none',
            name = 'cyl',
            domain = list(x = c(0.1667, .333), y = c(0, 1))
    )%>% add_trace(
            labels =  ~ carname,
            values =  ~ disp,
            type = 'pie',
            textinfo = 'none',
            name = 'disp',
            domain = list(x = c(0.333, .5), y = c(0, 1))
    )%>% add_trace(
            labels =  ~ carname,
            values =  ~ hp,
            type = 'pie',
            textinfo = 'none',
            name = 'hp',
            domain = list(x = c(.5, .667), y = c(0, 1))

    )%>% add_trace(
            labels =  ~ carname,
            values =  ~ drat,
            type = 'pie',
            textinfo = 'none',
            name = 'drat',
            domain = list(x = c(.667, .833), y = c(0, 1))

    )%>% add_trace(
            labels =  ~ carname,
            values =  ~ wt,
            type = 'pie',
            textinfo = 'none',
            name = 'wt',
            domain = list(x = c(0.833, 1), y = c(0, 1))

    ) %>%layout(
            title = "Analysis by cars",
            showlegend = T,
            xaxis = list(
                    showgrid = F,
                    zeroline = FALSE,
                    showticklabels = T
            ),
            yaxis = list(
                    showgrid = F,
                    zeroline = FALSE,
                    showticklabels = T
            )
    )

Оцените некоторую помощь.

1 Ответ

0 голосов
/ 16 июля 2019

Вы можете использовать add_annotations и установить название пирогов индивидуально.

Просто добавьте следующие строки кода:

%>% add_annotations(x=seq(0.06,0.06 + 5*0.17,0.17),
                y=0.3,
                text = c("mpg", "cyl", "disp","hp","drat","wt"),
                xref = "paper",
                yref = "paper",
                xanchor = "left",
                showarrow = FALSE
                )

Вот вывод: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...