Skip to contents

Plots the Expected Value of Information (EVI) against the willingness to pay.


# S3 method for bcea
evi.plot(he, graph = c("base", "ggplot2", "plotly"), ...)

evi.plot(he, ...)



A bcea object containing the results of the Bayesian modelling and the economic evaluation.


A string used to select the graphical engine to use for plotting. Should (partial-)match the three options "base", "ggplot2" or "plotly". Default value is "base".


Additional graphical arguments:

  • line_colors to specify the EVPI line colour - all graph types.

  • line_types to specify the line type (lty) - all graph types.

  • area_include to specify whether to include the area under the EVPI curve - plotly only.

  • area_color to specify the area under the colour curve - plotly only.



If graph="ggplot2" a ggplot object, or if graph="plotly" a plotly object containing the requested plot. Nothing is returned when graph="base", the default.

The function produces a plot of the Expected Value of Information as a function of the discrete grid approximation of the willingness to pay parameter. The break even point(s) (i.e. the point in which the EIB=0, ie when the optimal decision changes from one intervention to another) is(are) also showed.


Baio G, Dawid aP (2011). “Probabilistic sensitivity analysis in health economics.” Stat. Methods Med. Res., 1--20. ISSN 1477-0334, doi:10.1177/0962280211419832 ,

Baio G (2013). Bayesian Methods in Health Economics. CRC.


Gianluca Baio, Andrea Berardi


m <- bcea(
      c=cost,               # defines the variables of 
                            #  effectiveness and cost
      ref=2,                # selects the 2nd row of (e, c) 
                            #  as containing the reference intervention
      interventions=treats, # defines the labels to be associated 
                            #  with each intervention
      Kmax=50000,           # maximum value possible for the willingness 
                            #  to pay threshold; implies that k is chosen 
                            #  in a grid from the interval (0, Kmax)
      plot=FALSE            # plots the results

treats <- c("No intervention", "Self-help",
            "Individual counselling", "Group counselling")
m <- bcea(eff, cost, ref = 4, interventions = treats, Kmax = 500)