did.visualize.panelview( data, unit, time, treat, outcome=None, collapse_to_cohort=False, subsamp=None, units_to_plot=None, sort_by_timing=False, xlab=None, ylab=None, figsize=(11, 3), noticks=False, title=None, legend=False, ax=None, xlim=None, ylim=None,)
Generate a panel view of the treatment variable over time for each unit.
Parameters
Name
Type
Description
Default
data
pandas.DataFrame
The input dataframe containing the data.
required
unit
str
The column name representing the unit identifier.
required
time
str
The column name representing the time identifier.
required
treat
str
The column name representing the treatment variable.
required
outcome
str
The column name representing the outcome variable. If not None, an outcome plot is generated.
None
collapse_to_cohort
bool
Whether to collapse units into treatment cohorts.
False
subsamp
int
The number of samples to draw from data set for display (default is None).
None
sort_by_timing
bool
Whether to sort the treatment cohorts by the number of treated periods.
False
xlab
str
The label for the x-axis. Default is None, in which case default labels are used.
None
ylab
str
The label for the y-axis. Default is None, in which case default labels are used.
None
figsize
tuple
The figure size for the outcome plot. Default is (11, 3).
(11, 3)
noticks
bool
Whether to display ticks on the plot. Default is False.
False
title
str
The title for the plot. Default is None, in which case no title is displayed.
None
legend
bool
Whether to display a legend. Default is False (since binary treatments are self-explanatory).
False
ax
matplotlib.pyplot.Axes
The axes on which to draw the plot. Default is None, in which case a new figure is created.
None
xlim
tuple
The limits for the x-axis of the plot. Default is None.
None
ylim
tuple
The limits for the y-axis of the plot. Default is None.
None
units_to_plot
list
A list of unit to include in the plot. If None, all units in the dataset are plotted.
None
Returns
Name
Type
Description
ax
matplotlib.pyplot.Axes
Examples
import pandas as pdimport numpy as npimport pyfixest as pfurl ="https://raw.githubusercontent.com/py-econometrics/pyfixest/master/pyfixest/did/data/df_het.csv"df_het = pd.read_csv(url)# Inspect treatment assignmentpf.panelview( data = df_het, unit ="unit", time ="year", treat ="treat", subsamp =50, title ="Treatment Assignment")# Outcome plotpf.panelview( data = df_het, unit ="unit", time ="year", outcome ="dep_var", treat ="treat", subsamp =50, title ="Outcome Plot")