Generates detailed bar charts to visualize the distribution of impacts across multiple dimensions. Supports top impact filtering, color coding, and fully customizable styling and export options.
Input Data
Usage
detail_plot(
data,
filter_var = NULL,
x_axis_from,
split_by = "Variable",
panel_var = "Experiment",
variable_col = "Variable",
unit_col = "Unit",
desc_col = "Description",
invert_axis = TRUE,
separate_figure = FALSE,
top_impact = NULL,
var_name_by_description = FALSE,
add_var_info = FALSE,
output_path = NULL,
export_picture = TRUE,
export_as_pdf = FALSE,
export_config = NULL,
plot_style_config = NULL
)Arguments
- data
A data frame or list of data frames containing GTAP results.
- filter_var
NULL, a vector, a data frame, or a named list specifying filtering conditions. For example:
list(Variable = c("EV", "qgdp"), REG = c("USA", "THA")).- x_axis_from
Character. Column name used for the x-axis.
- split_by
Character or vector.
Column(s) used to split plots by (e.g.,
"REG"orc("COMM", "REG")).If
NULL, a single aggregated plot is generated.
- panel_var
Character. Column for panel facets. Default is
"Experiment".- variable_col
Character. Column name for variable codes. Default is
"Variable".- unit_col
Character. Column name for units. Default is
"Unit".- desc_col
Character. Column name for variable descriptions. Default is
"Description".Plot Behavior
- invert_axis
Logical. If
TRUE, flips the plot orientation (horizontal bars). Default isFALSE.- separate_figure
Logical. If
TRUE, generates a separate plot for each value inpanel_var. Default isFALSE.- top_impact
Numeric or NULL. If specified, shows only the top N impactful values;
NULLshows all.Variable Display
- var_name_by_description
Logical. If
TRUE, uses descriptions instead of variable codes in titles. Default isFALSE.- add_var_info
Logical. If
TRUE, appends variable codes in parentheses after the description. Default isFALSE.Export Settings
- output_path
Character. Directory to save plots. If
NULL, plots are returned but not saved.- export_picture
Logical. If
TRUE, exports plots as PNG images. Default isTRUE.- export_as_pdf
Logical or
"merged".FALSE(default): disables PDF export.TRUE: exports each plot as a separate PDF file."merged": combines all plots into a single PDF file.
- export_config
List. Export options including dimensions, DPI, and background. See
create_export_configorget_all_config.Styling
- plot_style_config
List. Custom plot appearance settings. See
create_plot_styleorget_all_config.
Value
A ggplot object or a named list of ggplot objects depending on the separate_figure setting.
If export_picture or export_as_pdf is enabled, the plots are also saved to output_path.
Examples
# Load Data:
input_path <- system.file("extdata/in", package = "GTAPViz")
sl4.plot.data <- readRDS(file.path(input_path, "sl4.plot.data.rds"))
# Prepare Dataframe
sector_data <- sl4.plot.data[["COMM*REG"]]
# Plot
plotB <- detail_plot(
# === Input Data ===
data = sector_data,
filter_var = list(Region = "Oceania"),
x_axis_from = "Commodity",
split_by = "Region",
panel_var = "Experiment",
variable_col = "Variable",
unit_col = "Unit",
desc_col = "Description",
# === Plot Behavior ===
invert_axis = TRUE,
separate_figure = FALSE,
top_impact = NULL,
# === Variable Display ===
var_name_by_description = TRUE,
add_var_info = FALSE,
# === Export Settings ===
output_path = NULL,
export_picture = FALSE,
export_as_pdf = FALSE,
export_config = create_export_config(width = 45, height = 20),
# === Styling ===
plot_style_config = create_plot_style(
positive_color = "#2E8B57",
negative_color = "#CD5C5C",
panel_rows = 1,
panel_cols = NULL,
show_axis_titles_on_all_facets = FALSE,
y_axis_text_size = 25,
bar_width = 0.6,
all_font_size = 1.1
)
)