我试图在R中制作一个堆积区域图,就像这个ggplot2一样(下面)只使用plotly .
要生成上述ggplot2图表的图表版本,我首先必须在我的数据框中添加每列的值 elw
,在上一列like so中的值之上 . 这是因为从图中可以看出(据我所知),它无法自动堆积面积图中的值 .
使用这个新的堆叠数据集 elw_stack
,我使用以下代码制作我的图表:
el_plot2 = ggplot() +
geom_area(aes(elw_stack$year, elw_stack$x99999, fill = 'green')) +
geom_area(aes(elw_stack$year, elw_stack$x20000, fill = 'red')) +
geom_area(aes(elw_stack$year, elw_stack$x19000, fill = 'blue')) +
geom_area(aes(elw_stack$year, elw_stack$x12018, fill = 'purple')) +
geom_area(aes(elw_stack$year, elw_stack$x10006, fill = 'yellow'))
ggplotly(el_plot2)
该代码生成此图表:
问题是, Headers 标签是指累积的 elw_stack
值 . 1999年的绿色值实际上是~3700(即11,365 - 7957) . 但描述栏显示累计值为11,365 . 有没有办法解决这个问题,以便标签不是累积值?
1 回答
我遇到了类似的问题并最终决定不使用ggplotly,而是使用了plot_ly函数 . 以下是我与您的数据一起使用的代码:
这就是最终情节的样子:
plotly image
我无法工作的是使用for循环添加不同的跟踪 . 我想编写一个函数,它将一个具有任意列数的数据帧作为输入并返回堆积区域图,但由于某种原因,该图不会显示所有迹线(仅限第一个和最后一个)
希望能帮助到你...