32 lines
833 B
Python
32 lines
833 B
Python
from pathlib import Path
|
|
from typing import Generator
|
|
import matplotlib.pyplot as plt
|
|
import seaborn as sns
|
|
import pandas as pd
|
|
from ..utils import style_plot
|
|
|
|
def generate_estimate_histplot(output_dir: Path, df: pd.DataFrame, **kwargs) -> Generator[Path]:
|
|
"""
|
|
Generates a styled histogram of the distribution of midpoint time estimates.
|
|
"""
|
|
style_plot()
|
|
OUTPUT_PATH = output_dir / "estimate_distribution_histplot.png"
|
|
|
|
fig, ax = plt.subplots()
|
|
|
|
sns.histplot(
|
|
data=df,
|
|
x='estimate_midpoint',
|
|
log_scale=True,
|
|
ax=ax
|
|
)
|
|
|
|
ax.set_xlabel("Task Time (minutes, log scale)")
|
|
ax.set_ylabel("Number of Tasks")
|
|
ax.set_title("Distribution of Time Estimates for Atomic Tasks")
|
|
|
|
plt.tight_layout()
|
|
plt.savefig(OUTPUT_PATH)
|
|
plt.close(fig)
|
|
|
|
yield OUTPUT_PATH
|