python - 在python中的矩阵中的相同值之间绘制网格线
问题描述
我在python中有一个np.array,如下所示:
mat = np.array([[0.2, 0.2, 0.1, 0.1, 0.1],
[0.2, 0.2, 0.1, 0.1, 0.0],
[0.2, 0.2, 0.1, 0.1, 0.0],
[0.2, 0.1, 0.1, 0.0, 0.0]])
mat
我想在这个数组中的相同值之间画线,这样:
最后我想有一个这样的情节:
我在 python 中寻找 matplotlib 和 turtle 库,但找不到绘制它的方法。
解决方案
仅使用 matplotlib :
import matplotlib.pyplot as plt
mat = [[0.2, 0.2, 0.1, 0.1, 0.1],
[0.2, 0.2, 0.1, 0.1, 0.0],
[0.2, 0.2, 0.1, 0.1, 0.0],
[0.2, 0.1, 0.1, 0.0, 0.0]]
def line(x,y):
plt.plot(x,y,marker = 'o',color = 'red',
markerfacecolor='black',markeredgecolor='black')
def draw(mat):
for i in range(len(mat)):
for k in range(len(mat[i])-1):
if mat[i][k] == mat[i][k+1] :
line([k,k+1],[len(mat)-i,len(mat)-i])
for i in range(len(mat)-1):
for k in range(len(mat[i])):
if mat[i][k] == mat[i+1][k]:
line([k,k],[len(mat)-i,len(mat)-i-1])
draw(mat)
plt.show()
推荐阅读
- php - 尝试从 Xamp 加载时出现数据库错误
- flutter - 添加展示/突出显示颤振
- javascript - 如何从时间戳中获取日期?
- control-m - Control-M 输出条件在末尾添加了数字
- javascript - 密码重置令牌在 Node.js 中无效或已过期
- python - 在 neo4j 沙箱中哪里可以找到 apoc.conf
- java - 如何使用Java在sql查询中传递多个参数?
- multiple-databases - 在 dbeaver 中使用多个数据库(连接)进行查询
- javascript - 尝试将属性从一个对象分配给另一个对象时出现 TypeScript 错误
- python - 为什么 Reticulate 不能运行 twint