栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Matplotlib 更改3D坐标系网格样式

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Matplotlib 更改3D坐标系网格样式

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/969414.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号