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;
NULL
shows 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_config
orget_all_config
.Styling
- plot_style_config
List. Custom plot appearance settings. See
create_plot_style
orget_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
)
)