代码之家  ›  专栏  ›  技术社区  ›  Vlad

如何使用3D数据设置彩条显示限制

  •  1
  • Vlad  · 技术社区  · 11 年前

    我已经找到了许多使用pcolor和clim等特性的例子,但除非我误用它们,否则它们似乎只想处理具有x、y和值的二维数据。

    我的数据格式如下:

    x y z values
    

    在我开始绘制脚本之前,我正在执行一个插值,它为我提供了新的网格数据,但没有改变值的范围,这意味着在两个图形之间使用一个颜色条就足够了。此插值数据的格式如下:

    xi yi zi interp
    

    我用来绘制它的代码如下:

    fig = plt.figure()
    ax = fig.add_subplot(121, projection = '3d')
    ax.scatter(xi, yi, zi, c=interp, alpha=0.08, edgecolors='none'
    
    ax=fig.add_subplot(122, projection = '3d')
    s = ax.scatter(x, y, z, c=values, alpha=0.3, edgecolors='none'
    plt.colorbar(s)
    

    所有这些工作都很好,但是当我加载一个具有相似但不相同值范围的单独数据集时,问题就出现了。两个数据集之间的色条显示不同的范围,这对于在两者之间进行比较来说并不理想。我要做的就是强制设置色条的最小值(2100)和最大值(2600),以便我可以将其应用于任何和所有数据集。

    很抱歉,如果这是一个简单的问题,但正如我所说,我似乎找不到适用于3D数据的解决方案。

    干杯,弗拉德。

    1 回复  |  直到 11 年前
        1
  •  2
  •   plonser    11 年前

    我想你在找 vmin vmax 例如

    ax.scatter(x, y, z, c=values, alpha=0.3, edgecolors='none',vmin=2100,vmax=2600)