Skip to content

advanced_viz

advanced_viz

PyAERMOD Advanced Visualization Tools

Advanced plotting capabilities including 3D visualizations, wind roses, animations, and publication-quality figure generation.

AdvancedVisualizer

Advanced visualization tools for AERMOD results

Provides 3D plotting, wind roses, animations, and advanced analysis plots.

plot_3d_surface staticmethod

plot_3d_surface(df: DataFrame, title: str = '3D Concentration Surface', units: str = 'μg/m³', colormap: str = 'plasma', figsize: Tuple[int, int] = (14, 10), elevation_angle: int = 30, azimuth_angle: int = 45, save_path: Optional[str] = None)

Create 3D surface plot of concentration field

Args: df: DataFrame with X, Y, CONC columns title: Plot title units: Concentration units colormap: Matplotlib colormap figsize: Figure size elevation_angle: Viewing elevation (degrees) azimuth_angle: Viewing azimuth (degrees) save_path: Optional save path

plot_wind_rose staticmethod

plot_wind_rose(wind_speeds: ndarray, wind_directions: ndarray, title: str = 'Wind Rose', bins: int = 16, figsize: Tuple[int, int] = (10, 10), save_path: Optional[str] = None)

Create wind rose diagram

Args: wind_speeds: Array of wind speeds (m/s) wind_directions: Array of wind directions (degrees from N) title: Plot title bins: Number of direction bins figsize: Figure size save_path: Optional save path

plot_concentration_profile staticmethod

plot_concentration_profile(df: DataFrame, direction: str = 'x', cross_coord: float = 0.0, title: Optional[str] = None, figsize: Tuple[int, int] = (12, 6), save_path: Optional[str] = None)

Plot concentration profile along a line

Args: df: DataFrame with X, Y, CONC columns direction: 'x' or 'y' for profile direction cross_coord: Coordinate value in perpendicular direction title: Plot title figsize: Figure size save_path: Optional save path

create_comparison_grid staticmethod

create_comparison_grid(scenarios: Dict[str, DataFrame], title: str = 'Scenario Comparison', colormap: str = 'YlOrRd', figsize: Optional[Tuple[int, int]] = None, save_path: Optional[str] = None)

Create grid comparison of multiple scenarios

Args: scenarios: Dict of scenario_name -> DataFrame title: Overall title colormap: Matplotlib colormap figsize: Figure size (auto if None) save_path: Optional save path

plot_time_series_animation staticmethod

plot_time_series_animation(dataframes: List[DataFrame], timestamps: List[str], title: str = 'Concentration Animation', interval: int = 500, save_path: Optional[str] = None)

Create animated time series of concentrations

Args: dataframes: List of DataFrames (one per time step) timestamps: List of timestamp labels title: Animation title interval: Milliseconds between frames save_path: Path to save GIF (requires pillow)