plot画二维图网格线默认是关闭的,直接使用grid( )打开即可。
x = [1, 2, 3, 4, 5, 6] y = [1, 2, 3, 4, 5, 6] plt.plot(x, y) plt.grid(color='b', ls='-.', lw=0.25) plt.show()
如图:
但是在用三维画图的时候grid改不了网格线,得像下面这样更新:
ax.xaxis._axinfo["grid"]['linestyle'] = "--"
一次更改多个线型多个参数:
ax.xaxis._axinfo["grid"].update({"linewidth":1, "color" : "green"})
改完完网格线发生变化:
完整代码:
import numpy as np
import matplotlib.pyplot as plt
x_track = np.zeros((1, 3))
x_track_s = np.array([0., 0., 0.])
hi = 0
# 创建一个3D图窗
ax = plt.gca(projection='3d')
# 更改x、y、z轴的名字
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
# 标题
ax.set_title('3d tracking plot')
# 坐标轴范围
ax.set_xlim(-1, 30)
ax.set_ylim(0, 1)
ax.set_zlim(0, 1)
# 修改网格线
ax.xaxis._axinfo["grid"].update({"linewidth": 0.5, 'linestyle': "--"})
ax.yaxis._axinfo["grid"].update({"linewidth": 0.5, 'linestyle': "--"})
ax.zaxis._axinfo["grid"].update({"linewidth": 0.5, 'linestyle': "--"})
# 画图
plt.ion()
def gen_path():
global x_track_s, x_track, hi
hi = hi + 1
x_track_s = np.array([hi, 1, 1])
x_track = np.append(x_track, [x_track_s], axis=0)
return x_track
for t in range(20):
ax.scatter(x_track[:, 0], x_track[:, 1], x_track[:, 2], 'blue')
x_track = gen_path()
plt.pause(1)
if 0xff == ord('d'):
break



