3
Plot.ly имеет tutorial на это для Python:штабелях Площадь Диаграмма в Plot.ly и R
# Add original data
x=['Winter', 'Spring', 'Summer', 'Fall']
y0_org=[40, 80, 30, 10]
y1_org=[20, 10, 10, 10]
y2_org=[40, 10, 60, 80]
# Add data to create cumulative stacked values
y0_stck=y0_org
y1_stck=[y0+y1 for y0, y1 in zip(y0_org, y1_org)]
y2_stck=[y0+y1+y2 for y0, y1, y2 in zip(y0_org, y1_org, y2_org)]
R, кажется, не имеют какой-либо подобный учебник. Я попытался сыграть с учебником по заполненной области для R, но не смог построить сложный сюжет.
library(plotly)
p <- plot_ly(x = c(1, 2, 3, 4), y = c(0, 2, 3, 5), fill = "tozeroy")
add_trace(p, x = c(1, 2, 3, 4), y = c(3, 5, 1, 7), fill = "tonexty")
Как я могу воспроизвести код выше в R/Plot.ly, чтобы создать диаграмму с разбивкой по областям? Большое спасибо!
Большое спасибо @ Тея-к! Код работает отлично. Однако мой набор данных не так прост - некоторые из значений y0 могут быть выше значений y2 или y1 выше y2. Я добавляю скриншот результата, который я получаю к оригинальному сообщению. –
@ Виола Руденко, под редакцией. Должен работать сейчас. – ytk
Спасибо большое! Я тоже понял это тоже :) Вам нужно создать сложенные переменные, начать с самого большого и перейти к одному с наименьшим значением: p <- ggplot() + geom_area (aes (x, y2 + y1 + y0) , fill = 'blue')) + geom_area (aes (x, y1 + y0, fill = 'red')) + geom_area (aes (x, y0, fill = 'green')) ggplotly (p) –