| import matplotlib.pyplot as plt |
| import numpy as np |
|
|
| def draw_hexagonal_grid(rows, cols, text): |
| fig, ax = plt.subplots() |
| ax.set_aspect('equal') |
|
|
| |
| for i in range(rows): |
| for j in range(cols): |
| if i % 2 == 0: |
| y = i * np.sqrt(3) / 2 |
| x = j * 3 / 2 |
| else: |
| y = (i + 0.5) * np.sqrt(3) / 2 |
| x = (j + 0.5) * 3 / 2 |
| ax.add_patch(plt.RegularPolygon((x, y), numVertices=6, radius=0.5, orientation=np.pi/6, fill=None)) |
|
|
| |
| ax.text(x, y, text[i * cols + j], ha='center', va='center') |
|
|
| ax.autoscale_view() |
| ax.axis('off') |
| plt.show() |
|
|
| |
| text = "HELLO" |
| rows = 5 |
| cols = 5 |
| draw_hexagonal_grid(rows, cols, text) |
|
|