gpt4 book ai didi

python - 步长的原因是什么?

转载 作者:行者123 更新时间:2023-12-05 03:24:17 26 4
gpt4 key购买 nike

我正在尝试用 Python 可视化棋盘,我在网上找到了这段代码以便能够这样做,我正在尝试了解它是如何工作的。我大致了解它的大部分工作原理,但我不明白为什么 dx 和 dy 是这些奇怪的值?我试过它的值为 1,它使数字的轴不在一条直线上?

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.colors import LogNorm

dx, dy = 0.015, 0.05
x = np.arange(-4.0, 4.0, dx) # Numbers from -4 to 4 incrementing by 0.015
print(x)
y = np.arange(-4.0, 4.0, dy) # Numbers from -4 to 4 incrementing by 0.05
X, Y = np.meshgrid(x, y) # Generates an array using the values
extent = np.min(x), np.max(x), np.min(y), np.max(y) #Max and minimum X,Y values
z1 = np.add.outer(range(8), range(8)) % 2 #Generates colouring for the grid
print(z1)
plt.imshow(z1, cmap="Greys", interpolation="nearest", extent=extent, alpha=1)
plt.show()

有人可以解释一下吗?

最佳答案

我认为这里有人把事情复杂化了。如果您注意到,XY 根本没有使用,而 xy 仅用于计算范围。但这只需要第一个和最后一个元素。当 [0][-1] 时,不需要在排序数组上调用 minmax > 也一样。这些数组有可能在别处用于其他用途。如果您只想可视化电路板,以下内容就足够了:

z = np.add.outer(range(8), range(8)) % 2 #Generates colouring for the grid
plt.imshow(z, cmap="Greys", extent=[0.5, 8.5, 0.5, 8.5])
plt.xticks(range(1, 9), 'ABCDEFGH')
plt.show()

enter image description here

图像范围设置为每个像素的外边界。这意味着如果我想要我的像素中心对应于数字 1-8,我必须将边界设置为 0.5 到 8.5,因为每个图像像素的数据大小都是 1。你可以看到为什么这是y 轴上的情况更容易。原始代码将 x 范围设置为 -4, 3.995 并将 y 范围设置为 -4, 3.95,这对我来说意义不大,因为它没有将整数位置与正方形对齐,还有其他问题。

关于python - 步长的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72320363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com