R:向瀑布图添加值

时间:2014-03-08 06:15:00

标签: r plot lattice waterfall

我正在使用R中的waterfall package来准备瀑布图,并喜欢将值添加到图表中。

示例代码(取自http://lamages.blogspot.de/2012/05/waterfall-charts-in-style-of-economist.html):

library(latticeExtra)
library(waterfall)
data(rasiel) # Example data of the waterfall package
rasiel
#    label          value   subtotal
# 1  Net Sales       150    EBIT
# 2  Expenses       -170    EBIT 
# 3  Interest         18    Net Income
# 4  Gains            10    Net Income
# 5  Taxes            -2    Net Income

asTheEconomist(
               waterfallchart(value~label, data=rasiel,
                              groups=subtotal, main="P&L")
               )

该图中的结果:

Plot from example

我正在寻找正确的代码来获得这样的东西:

Plot modified

2 个答案:

答案 0 :(得分:2)

waterfallchart只是使用具有特定设置的网格包来创建这种类型的绘图。因此,修改绘图的所有晶格函数都可以在瀑布图中使用。

您必须设置面板的文本参数,如下所示:

asTheEconomist(
  waterfallchart(value~label, data=rasiel,
                      groups=subtotal, main="P&L",
                 panel=function(x, y, ...) {
                   panel.waterfallchart(x, y, ...);
                   ltext(x=seq(1,7,1),y=c(75,75,10,1,20,15,14),
                         labels=c("+150","-170","-20","+10","+18","-2","+6"),
                         srt=90,font=2,cex=1.5)
                 }
       )
)

enter image description here

答案 1 :(得分:1)

简短的回答是否定的,这是不可能的。当我为瀑布图和瀑布图编写代码时,我明确地试图分别模仿条形图和条形图的行为。当时,这是在几年前,也没有选择支持这一点,我认为这没有改变。

我认为通过重新实现ggplot2中的瀑布图可以取得更多进展,它应该使这个和其他情节调整相对容易。