counting / maths /arithmetic /multiplication_table.py
spagestic's picture
algebra & arithmetic modularized
9b3b8c8
raw
history blame contribute delete
880 Bytes
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