首页 > 解决方案 > 如何在图像上插入 UTF-8 字符

问题描述

我使用 Matplotlib 用 Python 创建了一个棋盘,我想知道是否可以在我想要的方块中添加图像。

我正在尝试复制 8 皇后问题,但大小可变,但我的主要问题是我不确定如何在棋盘的每个方格中显示皇后。

chessboard = np.zeros((size,size))

chessboard[1::2,0::2] = 1
chessboard[0::2,1::2] = 1

print(chessboard)
plt.imshow(chessboard,cmap='binary')
plt.show()

我的计划是创建另一个np.zeros()相同大小的,但这次我将代表我的皇后。

标签: pythonmatplotlibn-queens

解决方案


您可以使用UTF-8 皇后字符绘制居中的“文本” 。在黑色背景上打印时,您需要更改文本颜色。

import matplotlib.pyplot as plt
import numpy as np

size = 8
chessboard = np.zeros((size,size))

chessboard[1::2,0::2] = 1
chessboard[0::2,1::2] = 1

plt.imshow(chessboard, cmap='binary')

for _ in range(20):
    i, j = np.random.randint(0, 8, 2)
    plt.text(i, j, '♕', fontsize=20, ha='center', va='center', color='black' if (i - j) % 2 == 0 else 'white')

plt.show()

结果图


推荐阅读