你的代码有几个问题。
首先是大的:
>您正在循环的每次迭代中创建一个新的数字和一个新的轴 – >
把fig = plt.figure和ax = fig.add_subplot(1,1,1)放在循环之外。
>不要使用定位符,使用正确的关键字调用ax.set_xticks()和ax.grid()函数。
>与plt.axes(),您将再次创建一个新的轴。使用ax.set_aspect(‘equal’)
小事情:
你不应该像matlab这样的语法,像plt.axis()与客观语法混合。
使用ax.set_xlim(a,b)和ax.set_ylim(a,b)
这应该是一个工作的最小例子:
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
# major ticks every 20, minor ticks every 5
major_ticks = np.arange(0, 101, 20)
minor_ticks = np.arange(0, 101, 5)
ax.set_xticks(major_ticks)
ax.set_xticks(minor_ticks, minor=True)
ax.set_yticks(major_ticks)
ax.set_yticks(minor_ticks, minor=True)
# and a corresponding grid
ax.grid(which='both')
# or if you want differnet settings for the grids:
ax.grid(which='minor', alpha=0.2)
ax.grid(which='major', alpha=0.5)
plt.show()
输出是这样的: