File size: 880 Bytes
9b3b8c8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import matplotlib.pyplot as plt
import numpy as np

def create_multiplication_table(number: int, max_multiplier: int = 12) -> plt.Figure:
    """Create a visual multiplication table."""
    fig, ax = plt.subplots(figsize=(8, 6))
    multipliers = np.arange(1, max_multiplier + 1)
    results = number * multipliers
    bars = ax.bar(multipliers, results, color='skyblue', alpha=0.7, edgecolor='navy')
    for bar, result in zip(bars, results):
        height = bar.get_height()
        ax.text(bar.get_x() + bar.get_width()/2., height + max(results) * 0.01,
                f'{result}', ha='center', va='bottom', fontweight='bold')
    ax.set_xlabel('Multiplier', fontsize=12)
    ax.set_ylabel('Result', fontsize=12)
    ax.set_title(f'Multiplication Table for {number}', fontsize=14, fontweight='bold')
    ax.grid(True, alpha=0.3)
    ax.set_xticks(multipliers)
    return fig