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

时间:2015-02-09 06:01:35

标签: python matplotlib colorbar scatter

我发现了许多使用pcolor和者攀爬等功能的例子,但除非我误用它们,否则它们似乎只想用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)

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

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

干杯,弗拉德。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找vminvmax,例如

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