Scatter Plot
This module provides functionality for creating scatter plots from pandas DataFrames.
It is designed to visualize relationships between variables, highlight distributions, and compare different categories using scatter points.
Core Features
- Flexible X-Axis Handling: Uses an index or a specified x-axis column (
x_col
) for plotting. - Multiple Scatter Groups: Supports plotting multiple columns (
value_col
) or groups (group_col
). - Dynamic Color Mapping: Automatically selects a colormap based on the number of groups.
- Legend Customization: Supports custom legend titles and the option to move the legend outside the plot.
- Source Text: Provides an option to add source attribution to the plot.
Use Cases
- Category-Based Scatter Plots: Compare different categories using scatter points.
- Trend Analysis: Identify patterns and outliers in datasets.
- Multi-Value Scatter Plots: Show multiple data series in a single scatter chart.
Limitations and Warnings
- Pre-Aggregated Data Required: The module does not perform data aggregation; data should be pre-aggregated before being passed to the function.
plot(df, value_col, x_label=None, y_label=None, title=None, x_col=None, group_col=None, ax=None, source_text=None, legend_title=None, move_legend_outside=False, **kwargs)
Plots a scatter chart for the given value_col
over x_col
or index, with optional grouping by group_col
.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
df |
DataFrame or Series
|
The dataframe or series to plot. |
required |
value_col |
str or list of str
|
The column(s) to plot. |
required |
x_label |
str
|
The x-axis label. |
None
|
y_label |
str
|
The y-axis label. |
None
|
title |
str
|
The title of the plot. |
None
|
x_col |
str
|
The column to be used as the x-axis. If None, the index is used. |
None
|
group_col |
str
|
The column used to define different scatter groups. |
None
|
legend_title |
str
|
The title of the legend. |
None
|
ax |
Axes
|
Matplotlib axes object to plot on. |
None
|
source_text |
str
|
The source text to add to the plot. |
None
|
move_legend_outside |
bool
|
Move the legend outside the plot. |
False
|
**kwargs |
dict[str, any]
|
Additional keyword arguments for Pandas' |
{}
|
Returns:
Name | Type | Description |
---|---|---|
SubplotBase |
SubplotBase
|
The matplotlib axes object. |
Raises:
Type | Description |
---|---|
ValueError
|
If |