| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import matplotlib.pyplot as plt
- #======================================================
- # == SCRIPT PARAMETERS ==
- #======================================================
- # === Basic statistics from the table ===
- COL_DIAMETER = "Diameter [mm]"
- COL_VELOCITY = "Velocity [m/s]"
- STATS = {
- COL_DIAMETER: {
- "min": 0.160,
- "q1": 0.250,
- "median": 0.310,
- "q3": 0.410,
- "max": 4.740
- },
- COL_VELOCITY: {
- "min": 0.210,
- "q1": 1.340,
- "median": 1.670,
- "q3": 2.020,
- "max": 10.090
- }
- }
- # === Figure Parameters ===
- FIG_WIDTH = 6
- FIG_HEIGHT = 4
- FIG_TITLE = "Distribúcia Priemerov a Rýchlostí Častíc Počas 41. týžna 2025"
- FIG_DATA_ALPHA = 0.6
- FIG_SUB1_TITLE = "Priemer Častice [mm]"
- FIG_SUB1_X_LABEL = "Priemer [mm]"
- FIG_SUB2_TITLE = "Rýchlosť Častice [m/s]"
- FIG_SUB2_X_LABEL = "Rýchlosť [m/s]"
- FIG_DATA_COLOR1 = "#4C72B0"
- FIG_DATA_COLOR2 = "#DD8452"
- FIG_GRID_STYLE = ":"
- #======================================================
- # == SCRIPT COMMANDS ==
- #======================================================
- # === Prepare data for boxplot ===
- def make_box_dict(s):
- return {
- 'whislo': s['min'], # Bottom whisker
- 'q1': s['q1'], # 25%
- 'med': s['median'], # 50%
- 'q3': s['q3'], # 75%
- 'whishi': s['max'], # Top whisker
- 'fliers': []
- }
- data_diam = [make_box_dict(STATS[COL_DIAMETER])]
- data_vel = [make_box_dict(STATS[COL_VELOCITY])]
- # === Plot side by side with independent y-scales ===
- fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(FIG_WIDTH, FIG_HEIGHT))
- # Diameter boxplot
- ax1.bxp(data_diam, showfliers=False, patch_artist=True,
- boxprops=dict(facecolor=FIG_DATA_COLOR1, alpha=FIG_DATA_ALPHA))
- ax1.set_title(FIG_SUB1_TITLE)
- ax1.set_ylabel(FIG_SUB1_X_LABEL)
- ax1.set_xlabel("")
- ax1.set_xticks([])
- ax1.grid(True, linestyle=FIG_GRID_STYLE)
- # Velocity boxplot
- ax2.bxp(data_vel, showfliers=False, patch_artist=True,
- boxprops=dict(facecolor=FIG_DATA_COLOR2, alpha=FIG_DATA_ALPHA))
- ax2.set_title(FIG_SUB2_TITLE)
- ax2.set_ylabel(FIG_SUB2_X_LABEL)
- ax2.set_xlabel("")
- ax2.set_xticks([])
- ax2.grid(True, linestyle=FIG_GRID_STYLE)
- plt.suptitle(FIG_TITLE)
- plt.tight_layout()
- plt.show()
|