src.visualization.charts¶
Chart generation for Share of Search analysis.
Module Contents¶
- class src.visualization.charts.ChartGenerator(theme: str = 'professional', dpi: int = 300)[source]¶
Generate professional charts for Share of Search analysis.
- generate_line_chart(df: pandas.DataFrame, output_path: pathlib.Path, title: str = 'Search Interest Over Time') None[source]¶
Generate McKinsey-style line chart showing trends over time.
- Parameters:
df – DataFrame with date, query, value columns
output_path – Path to save chart
title – Chart title
- generate_area_chart(df: pandas.DataFrame, output_path: pathlib.Path, title: str = 'Share of Search Evolution') None[source]¶
Generate McKinsey-style stacked area chart showing share evolution.
- Parameters:
df – DataFrame with date, query, share_of_search columns
output_path – Path to save chart
title – Chart title
- generate_bar_chart(metrics_df: pandas.DataFrame, output_path: pathlib.Path, title: str = 'Average Share by Brand') None[source]¶
Generate McKinsey-style bar chart comparing average shares.
- Parameters:
metrics_df – DataFrame with query and avg_share columns
output_path – Path to save chart
title – Chart title
- generate_pie_chart(metrics_df: pandas.DataFrame, output_path: pathlib.Path, title: str = 'Current Market Share') None[source]¶
Generate McKinsey-style pie chart showing current market distribution.
- Parameters:
metrics_df – DataFrame with query and avg_share columns
output_path – Path to save chart
title – Chart title
- generate_all_charts(df: pandas.DataFrame, metrics_df: pandas.DataFrame, output_dir: pathlib.Path) List[pathlib.Path][source]¶
Generate all charts.
- Parameters:
df – Full time series DataFrame
metrics_df – Aggregate metrics DataFrame
output_dir – Directory to save charts
- Returns:
List of generated chart paths