& ldquo; Колесо фортуны & rdquo; - с 3 разными скоростями - реагировать

Хорошо, ответ, по-видимому, двоякий. Во-первых, в plot_ly есть аргумент, запрашивающий сортировку данных по значениям (по умолчанию - TRUE) или работа с пользовательским заказом. Измените это на FALSE.

Затем, во-вторых, порядок (по часовой стрелке) отличается от порядка в кадре данных. Пик начинается в верхнем правом углу и продолжается против часовой стрелки.

Следовательно, следующее решение проблемы:

# Get Manufacturer
mtcars$manuf <- sapply(strsplit(rownames(mtcars), " "), "[[", 1)

df <- mtcars %>%
  group_by(manuf) %>%
  summarize(count = n())

# Create custom order
customOrder <- c(df$manuf[12:22],df$manuf[1:11])

# Adjust customOrder to deal with pie
customOrder <- c(customOrder[1],rev(customOrder[2:length(customOrder)]))

# Order data frame
df <- df %>% slice(match(customOrder, manuf))

# Create factor
df$manuf <- factor(df$manuf, levels = df[["manuf"]])

# Plot
df %>% plot_ly(labels = ~manuf, values = ~count, sort = FALSE) %>%
  add_pie(hole = 0.6) %>%
  layout(title = "Donut charts using Plotly",  showlegend = F,
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
0
задан danihazler 20 March 2019 в 11:36
поделиться