【问题标题】:Matplotlib: GRID and COLORMAP with TRISURFMatplotlib:使用 TRISURF 的 GRID 和 COLORMAP
【发布时间】:2020-12-29 03:07:14
【问题描述】:

我想在我的表面上放置一个网格,但即使线宽不为零,它也不起作用,我还想绘制一个颜色图,用 Z 轴改变颜色,所以墙壁应该以相同的颜色出现因为它们在 Z 中是 0.5 分。希望有人能帮助我,谢谢。

这是我遇到问题的代码部分:

fig = plt.figure()
ax = Axes3D(fig)
surf = ax.plot_trisurf(x, y, z,  cmap=plt.cm.get_cmap('jet',4), shade=False,linewidth=0.1, antialiased=False

)

This is my plot with a bad colormap and no grid

This is something similar to I want: with grid and a good colormap

【问题讨论】:

    标签: matplotlib plot grid surface colormap


    【解决方案1】:

    这是你想要的吗?

    from mpl_toolkits.mplot3d import Axes3D
    import matplotlib.pyplot as plt
    import numpy as np
    
    t = np.linspace(0, 50)
    X, Y = np.meshgrid(t, t)
    Z = np.zeros_like(X)
    Z[:, 0] = 0.5
    Z[:, -1] = 0.5
    
    
    fig = plt.figure()
    ax = fig.gca(projection='3d')
    
    ax.plot_surface(X, Y, Z, cmap=plt.cm.get_cmap('jet',256), linewidth=0.2, antialiased=True)
    

    【讨论】:

    • 是的,但问题是我有三个 (1D) 数组(据我所知,trisurf 是我唯一可以使用的东西),而且我想在表面上放置一个网格(轴 (x,y) 的相同网格,但在蓝色区域中)...谢谢
    • MatplotlibDeprecationWarning: 在 Matplotlib 3.4 中不推荐使用关键字参数调用 gca()。稍后开始两个次要版本, gca() 将不接受关键字参数。 gca() 函数只能用于获取当前坐标区,或者如果不存在坐标区,则使用默认关键字参数创建新坐标区。要使用非默认参数创建新轴,请使用 plt.axes() 或 plt.subplot()。
    猜你喜欢
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2014-10-19
    • 2021-06-03
    • 2017-12-23
    • 2017-01-22
    相关资源
    最近更新 更多