|
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) |
|
|