python - 如何在图像上插入 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()
相同大小的,但这次我将代表我的皇后。
解决方案
您可以使用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()
推荐阅读
- python - 正则表达式问题解决两个条件
- google-cloud-platform - Google Cloud Platform:将 VPC 与托管实例组一起使用
- dart - Flutter - 如何在颤动的数字键盘中添加完成按钮
- ubuntu - tmux 未在行首显示当前工作目录
- javascript - 使用 JS 函数在光标附近生成和渲染 html 内容
- kubernetes - Kubernetes activeDeadlineSeconds 没有杀死进程
- php - 引导表单助手日期选择器默认值
- c - 为什么在 char** cast 后出现分段错误?
- python - 在 Docker 中使用 Celery 的 Flask 应用程序中的应用程序上下文错误
- c - 没有循环的函数是否可并行化?