function_reference.md
783 lines · skills/seaborn/references/function_reference.md at 5f2bc03
Seaborn Function Reference
This document provides a selected reference for major seaborn functions, organized by category. Reviewed against the 0.13.2 API and released signatures on 2026-10-01. Parameter lists below are selected, not complete signatures. Figure-level wrappers accept only parameters supported by their selected kind; they do not accept ax. Examples use illustrative input DataFrames.
Relational Plots
Raw lines 5 to 6scatterplot()
Purpose: Create a scatter plot with points representing individual observations.
Key Parameters:
data- DataFrame, array, or dict of arraysx, y- Variables for x and y axeshue- Grouping variable for color encodingsize- Grouping variable for size encodingstyle- Grouping variable for marker stylepalette- Color palette name or listhue_order- Order for categorical hue levelshue_norm- Normalization for numeric hue (tuple or Normalize object)sizes- Size range for size encoding (tuple or dict)size_order- Order for categorical size levelssize_norm- Normalization for numeric sizemarkers- Marker style(s) (string, list, or dict)style_order- Order for categorical style levelslegend- How to draw legend: "auto", "brief", "full", or Falseax- Matplotlib axes to plot on
Example:
sns.scatterplot(data=df, x='height', y='weight',
hue='gender', size='age', style='smoker',
palette='Set2', sizes=(20, 200))Raw lines 7 to 34lineplot()
Purpose: Draw a line plot with aggregation and confidence intervals across observations at each x; repeated measures need an explicit sampling-unit strategy.
Key Parameters:
data- DataFrame, array, or dict of arraysx, y- Variables for x and y axeshue- Grouping variable for color encodingsize- Grouping variable for line widthstyle- Grouping variable for line style (dashes)units- Separate trajectory for each sampling unit; also setestimator=None(no aggregation)weights- Observation weights; only mean estimation with CI or no error barsestimator- Function for aggregating across observations (default: mean)errorbar- Method for error bars: "sd", "se", "pi", ("ci", level), ("pi", level), or Nonen_boot- Number of bootstrap iterations for CI computationseed- Random seed for reproducible bootstrappingsort- Sort data before plottingerr_style- "band" or "bars" for error representationerr_kws- Additional parameters for error representationmarkers- Marker style(s) for emphasizing data pointsdashes- Dash style(s) for lineslegend- How to draw legendax- Matplotlib axes to plot on
Example:
sns.lineplot(data=timeseries, x='time', y='signal',
hue='condition', units='subject',
estimator=None, errorbar=None, marker='o')Raw lines 35 to 65relplot()
Purpose: Figure-level interface for drawing relational plots (scatter or line) onto a FacetGrid.
Key Parameters: Parameters for the selected kind (scatterplot or lineplot), except ax, plus:
kind- "scatter" or "line"col- Categorical variable for column facetsrow- Categorical variable for row facetscol_wrap- Wrap columns after this many columnscol_order- Order for column facet levelsrow_order- Order for row facet levelsheight- Height of each facet in inchesaspect- Aspect ratio (width = height * aspect)facet_kws- Additional parameters for FacetGrid
Example:
sns.relplot(data=df, x='time', y='measurement',
hue='treatment', style='batch',
col='cell_line', row='timepoint',
kind='line', height=3, aspect=1.5)Raw lines 66 to 89Distribution Plots
Raw lines 90 to 91histplot()
Purpose: Plot univariate or bivariate histograms with flexible binning.
Key Parameters:
data- DataFrame, array, or dictx, y- Variables (y optional for bivariate)hue- Grouping variableweights- Variable for weighting observationsstat- Aggregate statistic: "count", "frequency", "probability", "percent", "density"bins- Number of bins, bin edges, or method ("auto", "fd", "doane", "scott", "stone", "rice", "sturges", "sqrt")binwidth- Width of bins (overrides bins)binrange- Range for binning (tuple)discrete- Treat x as discrete (centers bars on values)cumulative- Compute cumulative distributioncommon_bins- Use same bins for all hue levelscommon_norm- Normalize across hue levelsmultiple- How to handle hue: "layer", "dodge", "stack", "fill"element- Visual element: "bars", "step", "poly"fill- Fill bars/elementsshrink- Scale bar width (for multiple="dodge")kde- Overlay KDE estimatekde_kws- Parameters for KDEline_kws- Parameters for the KDE line whenkde=Truethresh- Minimum count threshold for binspthresh- Minimum probability thresholdpmax- Maximum probability for color scalinglog_scale- Log scale for axis (bool or base)legend- Whether to show legendax- Matplotlib axes
Example:
sns.histplot(data=df, x='measurement', hue='condition',
stat='density', bins=30, kde=True,
multiple='layer', alpha=0.5)Raw lines 92 to 129kdeplot()
Purpose: Plot univariate or bivariate kernel density estimates.
Key Parameters:
data- DataFrame, array, or dictx, y- Variables (y optional for bivariate)hue- Grouping variableweights- Variable for weighting observationspalette- Color palettehue_order- Order for hue levelshue_norm- Normalization for numeric huemultiple- How to handle hue: "layer", "stack", "fill"common_norm- Normalize across hue levelscommon_grid- Use same grid for all hue levelscumulative- Compute cumulative distributionbw_method- Method for bandwidth: "scott", "silverman", or scalarbw_adjust- Bandwidth multiplier (higher = smoother)log_scale- Log scale for axislevels- Number or increasing iso-proportion levels in [0, 1] (bivariate)thresh- Lowest iso-proportion contour level, not a raw density or p-valuegridsize- Grid resolutioncut- Extension beyond data extremes (in bandwidth units)clip- Data range for curve (tuple)fill- Fill area under curve/contourslegend- Whether to show legendax- Matplotlib axes
Example:
# Univariate
sns.kdeplot(data=df, x='measurement', hue='condition',
fill=True, common_norm=False, bw_adjust=1.5)
# Bivariate
sns.kdeplot(data=df, x='var1', y='var2',
fill=True, levels=10, thresh=0.05)Raw lines 130 to 168ecdfplot()
Purpose: Plot empirical cumulative distribution functions.
Key Parameters:
data- DataFrame, array, or dictx, y- Variables (specify one)hue- Grouping variableweights- Variable for weighting observationsstat- "proportion", "percent", or "count"complementary- Plot complementary CDF (1 - ECDF)palette- Color palettehue_order- Order for hue levelshue_norm- Normalization for numeric huelog_scale- Log scale for axislegend- Whether to show legendax- Matplotlib axes
Example:
sns.ecdfplot(data=df, x='response_time', hue='treatment',
stat='proportion', complementary=False)Raw lines 169 to 192rugplot()
Purpose: Plot tick marks showing individual observations along an axis.
Key Parameters:
data- DataFrame, array, or dictx, y- Variable (specify one)hue- Grouping variableheight- Height of ticks (proportion of axis)expand_margins- Add margin space for rugpalette- Color palettehue_order- Order for hue levelshue_norm- Normalization for numeric huelegend- Whether to show legendax- Matplotlib axes
Example:
sns.rugplot(data=df, x='value', hue='category', height=0.05)Raw lines 193 to 213displot()
Purpose: Figure-level interface for distribution plots onto a FacetGrid.
Key Parameters: Parameters for the selected kind (histplot, kdeplot, or ecdfplot), except ax, plus:
kind- "hist", "kde", "ecdf"rug- Add rug plot on marginal axesrug_kws- Parameters for rug plotcol- Categorical variable for column facetsrow- Categorical variable for row facetscol_wrap- Wrap columnscol_order- Order for column facetsrow_order- Order for row facetsheight- Height of each facetaspect- Aspect ratiofacet_kws- Additional parameters for FacetGrid
Example:
sns.displot(data=df, x='measurement', hue='treatment',
col='timepoint', kind='kde', fill=True,
height=3, aspect=1.5, rug=True)Raw lines 214 to 238jointplot()
Purpose: Draw a bivariate plot with marginal univariate plots.
Key Parameters:
data- DataFramex, y- Variables for x and y axeshue- Grouping variablekind- "scatter", "kde", "hist", "hex", "reg", "resid"height- Size of the figure (square)ratio- Ratio of joint to marginal axesspace- Space between joint and marginal axesdropna- Drop missing valuesxlim, ylim- Axis limits (tuples)marginal_ticks- Show ticks on marginal axesjoint_kws- Parameters for joint plotmarginal_kws- Parameters for marginal plotshue_order- Order for hue levelspalette- Color palette
Example:
sns.jointplot(data=df, x='var1', y='var2', hue='group',
kind='scatter', height=6, ratio=4,
joint_kws={'alpha': 0.5})Raw lines 239 to 265pairplot()
Purpose: Plot pairwise relationships in a dataset.
Key Parameters:
data- DataFramehue- Grouping variable for color encodinghue_order- Order for hue levelspalette- Color palettevars- Variables to plot (default: all numeric)x_vars, y_vars- Variables for x and y axes (non-square grid)kind- "scatter", "kde", "hist", "reg"diag_kind- "auto", "hist", "kde", Nonemarkers- Marker style(s)height- Height of each facetaspect- Aspect ratiocorner- Plot only lower triangledropna- Drop missing valuesplot_kws- Parameters for non-diagonal plotsdiag_kws- Parameters for diagonal plotsgrid_kws- Parameters for PairGrid
Example:
sns.pairplot(data=df, hue='species', palette='Set2',
vars=['sepal_length', 'sepal_width', 'petal_length'],
corner=True, height=2.5)Raw lines 266 to 294Categorical Plots
Raw lines 295 to 296stripplot()
Purpose: Draw a categorical scatterplot with jittered points.
Key Parameters:
data- DataFrame, array, or dictx, y- Variables (one categorical, one continuous)hue- Grouping variableorder- Order for categorical levelshue_order- Order for hue levelsjitter- Amount of jitter: True, float, or Falsedodge- Separate hue levels side-by-sideorient- "v" or "h" (usually inferred)color- Single color for all elementspalette- Color palettesize- Marker sizeedgecolor- Marker edge colorlinewidth- Marker edge widthnative_scale- Use numeric scale for categorical axisformatter- Formats categorical values, affecting both grouping and tick labelslegend- Whether to show legendax- Matplotlib axes
Example:
sns.stripplot(data=df, x='day', y='total_bill',
hue='sex', dodge=True, jitter=0.2)Raw lines 297 to 325swarmplot()
Purpose: Draw a categorical scatterplot with non-overlapping points.
Key Parameters: Same as stripplot(), except:
- No
jitterparameter size- Marker size (important for avoiding overlap)warn_thresh- Threshold for warning about too many points (default: 0.05)
Note: Dense swarms can fail to place points without overlap; the practical limit depends on axes size, marker size, and group density. Check warnings and reduce marker size or use stripplot when needed.
Example:
sns.swarmplot(data=df, x='day', y='total_bill',
hue='time', dodge=True, size=5)Raw lines 326 to 343boxplot()
Purpose: Draw a box plot showing quartiles and outliers.
Key Parameters:
data- DataFrame, array, or dictx, y- Variables (one categorical, one continuous)hue- Grouping variableorder- Order for categorical levelshue_order- Order for hue levelsorient- "v" or "h"color- Single color for boxespalette- Color palettesaturation- Color saturation intensitywidth- Width of boxesdodge- Separate hue levels side-by-sidefliersize- Size of outlier markerslinewidth- Box line widthwhis- IQR multiplier for whiskers (default: 1.5)notch- Draw notched boxesshowcaps- Show whisker capsshowmeans- Show mean valuemeanprops- Properties for mean markerboxprops- Properties for boxeswhiskerprops- Properties for whiskerscapprops- Properties for capsflierprops- Properties for outliersmedianprops- Properties for median linenative_scale- Use numeric scaleformatter- Formats categorical values, affecting both grouping and tick labelslegend- Whether to show legendax- Matplotlib axes
Example:
sns.boxplot(data=df, x='day', y='total_bill',
hue='smoker', palette='Set3',
showmeans=True, notch=True)Raw lines 344 to 383violinplot()
Purpose: Draw a violin plot combining boxplot and KDE.
Key Parameters: Shares categorical mappings/order, color/palette, width/dodge/gap, native/log scales, formatter, legend and ax; box-specific whis, notch, showmeans, and box artist options do not apply. Additional parameters:
bw_method- KDE bandwidth methodbw_adjust- KDE bandwidth multipliercut- KDE extension beyond extremesdensity_norm- "area", "count", "width"common_norm- Normalize density across all violins in this axes-level call; do not assume independent facets share normalizationinner- "box", "quart", "point", "stick", Nonesplit- Split violins for hue comparisoninner_kws- Additional parameters for interior artistsgridsize- KDE grid resolution
Example:
sns.violinplot(data=df, x='day', y='total_bill',
hue='sex', split=True, inner='quart',
density_norm='area', common_norm=False,
palette='muted')Raw lines 384 to 407boxenplot()
Purpose: Draw enhanced box plot for larger datasets showing more quantiles.
Key Parameters: Shares categorical mappings/order, color/palette, width/dodge/gap, native/log scales, formatter, legend and ax. Use box_kws, line_kws, and flier_kws for artist control; do not pass boxplot-only options. Additional parameters:
k_depth- "tukey", "proportion", "trustworthy", "full", or intoutlier_prop- Proportion of data as outlierstrust_alpha- Alpha for trustworthy depthwidth_method- How box widths represent distribution: "exponential", "linear", "area"showfliers- Show outlier points
Example:
sns.boxenplot(data=df, x='day', y='total_bill',
hue='time', width_method='area', palette='Set2')Raw lines 408 to 425barplot()
Purpose: Draw a bar plot with error bars showing statistical estimates.
Key Parameters:
data- DataFrame, array, or dictx, y- Variables (one categorical, one continuous)hue- Grouping variableorder- Order for categorical levelshue_order- Order for hue levelsestimator- Aggregation function (default: mean)errorbar- Error representation: "sd", "se", "pi", ("ci", level), ("pi", level), or Nonen_boot- Bootstrap iterationsseed- Random seedunits- Identifier for sampling unitsweights- Observation weights; only mean with CI or no error barsorient- "v" or "h"color- Single bar colorpalette- Color palettesaturation- Color saturationwidth- Bar widthdodge- Separate hue levels side-by-sideerr_kws- Matplotlib keyword arguments for error barscapsize- Error bar cap widthnative_scale- Use numeric scaleformatter- Formats categorical values, affecting both grouping and tick labelslegend- Whether to show legendax- Matplotlib axes
Example:
sns.barplot(data=df, x='day', y='total_bill',
hue='sex', estimator='median',
errorbar=('ci', 95), capsize=0.1,
err_kws={'linewidth': 1.5})Raw lines 426 to 462countplot()
Purpose: Show counts of observations in each categorical bin.
Key Parameters: Shares categorical mappings/order, color/palette, width/dodge/gap, native/log scales, formatter, legend and ax.
- Specify only x or y (the categorical variable)
- No estimator, weights, units, bootstrap, or errorbar parameters
stat- "count", "percent", "probability", or "proportion"; normalized across the whole plot, not separately within each hue
Example:
sns.countplot(data=df, x='day', hue='time',
palette='pastel', dodge=True)Raw lines 463 to 478pointplot()
Purpose: Show point estimates and confidence intervals with connecting lines.
Key Parameters: Shares mappings/order, estimator, errorbar, units, weights, seed/n_boot, native/log scales, formatter, legend and ax. It does not share bar geometry (width, fill, gap, saturation).
markers,linestyles- Marker/line styles, optionally one per huemarkersize,linewidth- Matplotlib artist sizes; replace deprecatedscalelinestyles="none"- Disable connections; replaces deprecatedjoin=Falsecapsize,err_kws- Error bar appearancedodge- Boolean or numeric separation along the categorical axis
Example:
sns.pointplot(data=df, x='time', y='total_bill',
hue='sex', markers=['o', 's'],
linestyles=['-', '--'], capsize=0.1)Raw lines 479 to 497catplot()
Purpose: Figure-level interface for categorical plots onto a FacetGrid.
Key Parameters: Parameters for the selected categorical kind, except ax, plus:
kind- "strip", "swarm", "box", "violin", "boxen", "bar", "point", "count"col- Categorical variable for column facetsrow- Categorical variable for row facetscol_wrap- Wrap columnscol_order- Order for column facetsrow_order- Order for row facetsheight- Height of each facetaspect- Aspect ratiosharex, sharey- Share axes across facetslegend- Whether to show legendlegend_out- Place legend outside figurefacet_kws- Additional FacetGrid parameters
Example:
sns.catplot(data=df, x='day', y='total_bill',
hue='smoker', col='time',
kind='violin', split=True,
height=4, aspect=0.8)Raw lines 498 to 524Regression Plots
Raw lines 525 to 526regplot()
Purpose: Plot data and a linear regression fit.
Key Parameters:
data- DataFramex, y- Variables or data vectorsx_estimator- Apply estimator to x binsx_bins- Bin x for estimatorx_ci- CI for binned estimatesscatter- Show scatter pointsfit_reg- Plot regression lineci- CI for regression estimate (int or None)n_boot- Bootstrap iterations for CIunits- Identifier for sampling unitsseed- Random seedorder- Polynomial regression orderlogistic- Fit logistic regressionlowess- Fit lowess smootherrobust- Fit robust regressionlogx- Fit y against log(x), drawing in original coordinates; x must be positivex_partial, y_partial- Partial regression (regress out variables)truncate- Limit regression line to data rangedropna- Drop missing valuesx_jitter, y_jitter- Add jitter to datalabel- Label for legendcolor- Color for all elementsmarker- Marker stylescatter_kws- Parameters for scatterline_kws- Parameters for regression lineax- Matplotlib axes
Example:
sns.regplot(data=df, x='total_bill', y='tip',
order=2, ci=95, seed=7,
scatter_kws={'alpha': 0.5})Raw lines 527 to 565lmplot()
Purpose: Figure-level interface for regression plots onto a FacetGrid.
Key Parameters: Selected regression options from regplot() (not ax, label, or arbitrary axis-level artist arguments), plus:
hue- Grouping variablecol- Column facetsrow- Row facetspalette- Color palettecol_wrap- Wrap columnsheight- Facet heightaspect- Aspect ratiomarkers- Marker style(s)facet_kws={"sharex": ..., "sharey": ...}- Share axes; top-level forms are deprecatedhue_order- Order for hue levelscol_order- Order for column facetsrow_order- Order for row facetslegend- Whether to show legendfacet_kws={"legend_out": ...}- Legend position; top-level form is deprecatedfacet_kws- FacetGrid parameters
Example:
sns.lmplot(data=df, x='total_bill', y='tip',
hue='smoker', col='time', row='sex',
height=3, aspect=1.2, ci=None)Raw lines 566 to 594residplot()
Purpose: Plot residuals of a regression.
Key Parameters: Uses data, x, y, x_partial, y_partial, order, robust, dropna, label, color, scatter_kws, line_kws, and ax. It has no ci, logistic, or logx parameter.
- Plots residuals (y - predicted) against x, not fitted values
- Adds a horizontal line at y=0
lowess=Truefits a smoother to residuals; requires statsmodels
Example:
sns.residplot(data=df, x='x', y='y', lowess=True,
scatter_kws={'alpha': 0.5})Raw lines 595 to 610Matrix Plots
Raw lines 611 to 612heatmap()
Purpose: Plot rectangular data as a color-encoded matrix.
Key Parameters:
data- 2D array-like datavmin, vmax- Anchor values for colormapcmap- Colormap name or objectcenter- Value at colormap centerrobust- Use robust quantiles for colormap rangeannot- Annotate cells: True, False, or arrayfmt- Format string for annotations (e.g., ".2f")annot_kws- Parameters for annotationslinewidths- Width of cell borderslinecolor- Color of cell borderscbar- Draw colorbarcbar_kws- Colorbar parameterscbar_ax- Axes for colorbarsquare- Force square cellsxticklabels, yticklabels- Tick labels (True, False, int, or list)mask- Boolean array to mask cellsax- Matplotlib axes
Example:
# Correlation matrix
corr = df.select_dtypes(include='number').corr()
mask = np.triu(np.ones_like(corr, dtype=bool))
sns.heatmap(corr, mask=mask, annot=True, fmt='.2f',
cmap='coolwarm', center=0, square=True,
linewidths=1, cbar_kws={'shrink': 0.8})Raw lines 613 to 645clustermap()
Purpose: Plot a hierarchically-clustered heatmap.
Key Parameters: Many heatmap styling parameters through **kwargs, but owns its figure/axes; do not pass ax or cbar_ax. Additional parameters:
pivot_kws- Parameters for pivoting (if needed)method- Linkage method: "single", "complete", "average", "weighted", "centroid", "median", "ward"metric- Distance metric for clusteringstandard_scale- Min-max scale to [0, 1]: 0 (rows), 1 (columns), or None; distinct from z-scoringz_score- Z-score normalize data: 0 (rows), 1 (columns), or Nonerow_cluster, col_cluster- Cluster rows/columnsrow_linkage, col_linkage- Precomputed linkage matricesrow_colors, col_colors- Additional color annotationsdendrogram_ratio- Ratio of dendrogram to heatmapcolors_ratio- Ratio of color annotations to heatmapcbar_pos- Colorbar position (tuple: x, y, width, height)tree_kws- Parameters for dendrogramfigsize- Figure size
Example:
sns.clustermap(data, method='average', metric='euclidean',
z_score=0, cmap='viridis',
row_colors=row_colors, col_colors=col_colors,
figsize=(12, 12), dendrogram_ratio=0.1)Raw lines 646 to 673Multi-Plot Grids
Raw lines 674 to 675FacetGrid
Purpose: Multi-plot grid for plotting conditional relationships.
Initialization:
g = sns.FacetGrid(data, row=None, col=None, hue=None,
col_wrap=None, sharex=True, sharey=True,
height=3, aspect=1, palette=None,
row_order=None, col_order=None, hue_order=None,
hue_kws=None, dropna=False, legend_out=True,
despine=True, margin_titles=False,
xlim=None, ylim=None, subplot_kws=None,
gridspec_kws=None)Methods:
map(func, *args, **kwargs)- Apply function to each facetmap_dataframe(func, *args, **kwargs)- Apply function with full DataFrameset_axis_labels(x_var, y_var)- Set axis labelsset_titles(template, **kwargs)- Set subplot titlesset(**kwargs)- Set attributes on all axesadd_legend(legend_data, title, label_order, **kwargs)- Add legendsavefig(*args, **kwargs)- Save figure
Example:
g = sns.FacetGrid(df, col='time', row='sex', hue='smoker',
height=3, aspect=1.5, margin_titles=True)
g.map_dataframe(sns.scatterplot, x='total_bill', y='tip', alpha=0.7)
g.add_legend()
g.set_axis_labels('Total Bill ($)', 'Tip ($)')
g.set_titles('{col_name} | {row_name}')Raw lines 676 to 710PairGrid
Purpose: Grid for plotting pairwise relationships in a dataset.
Initialization:
g = sns.PairGrid(data, hue=None, vars=None,
x_vars=None, y_vars=None,
hue_order=None, palette=None,
hue_kws=None, corner=False,
diag_sharey=True, height=2.5,
aspect=1, layout_pad=0.5,
despine=True, dropna=False)Methods:
map(func, **kwargs)- Apply function to all subplotsmap_diag(func, **kwargs)- Apply to diagonalmap_offdiag(func, **kwargs)- Apply to off-diagonalmap_upper(func, **kwargs)- Apply to upper trianglemap_lower(func, **kwargs)- Apply to lower triangleadd_legend(legend_data, **kwargs)- Add legendsavefig(*args, **kwargs)- Save figure
Example:
g = sns.PairGrid(df, hue='species', vars=['a', 'b', 'c', 'd'],
corner=True, height=2.5)
# corner=True omits upper-triangle axes
g.map_lower(sns.kdeplot)
g.map_diag(sns.histplot, kde=True)
g.add_legend()Raw lines 711 to 744JointGrid
Purpose: Grid for bivariate plot with marginal univariate plots.
Initialization:
g = sns.JointGrid(data=None, x=None, y=None, hue=None,
height=6, ratio=5, space=0.2,
dropna=False, xlim=None, ylim=None,
marginal_ticks=False, hue_order=None,
palette=None)Methods:
plot(joint_func, marginal_func, **kwargs)- Plot both joint and marginalsplot_joint(func, **kwargs)- Plot joint distributionplot_marginals(func, **kwargs)- Plot marginal distributionsrefline(x, y, **kwargs)- Add reference lineset_axis_labels(xlabel, ylabel, **kwargs)- Set axis labelssavefig(*args, **kwargs)- Save figure
Example:
g = sns.JointGrid(data=df, x='x', y='y', hue='group',
height=6, ratio=5, space=0.2)
g.plot_joint(sns.scatterplot, alpha=0.5)
g.plot_marginals(sns.histplot, kde=True)
g.set_axis_labels('Variable X', 'Variable Y')Raw lines 745 to 774Scientific constraints
- In 0.13 categorical plots, statistics are computed in the transformed space when a log scale is active. A displayed mean can therefore be geometric rather than arithmetic; precompute the intended estimate when necessary.
lineplotremoves missing rows before drawing:estimator=Nonealone does not preserve gaps. Split contiguous runs as in patterns_and_troubleshooting.md.- Choose one regression mode:
order>1,logistic,robust,lowess, andlogxare mutually exclusive. Lowess has no bootstrap CI; advanced fits require statsmodels. These are exploratory fits, not a substitute for a specified inference model. - KDE/violin bandwidth and support affect apparent modes.
cut=0does not remove boundary bias.common_norm=Falsenormalizes each underlying density separately, which hides sample-size differences; a truncated drawing need not integrate to one. - Correlations use pairwise-complete observations; inspect sample counts and constant columns. A heatmap does not imply significance or causation.
- Clustering needs finite values; a heatmap mask does not make missing values valid clustering input. Reject zero-variance rows for
z_score=0or zero-range rows forstandard_scale=0(analogous for columns). Ward linkage requires Euclidean geometry. Choose scaling according to whether rows or features should be standardized, align annotation Series by labels, and save via the returnedClusterGrid.savefig.