我有一个通过解析文件生成的矩阵numpy数组的大小是101X101X41,每个条目都有一个值,表示每个点的大小。你知道吗
现在我要做的是在一个三维图中绘制它,第四维用颜色表示。这样我就能看到数据点的形状(代表分子轨道)并推断出它在那个点的大小。你知道吗
如果我绘制每个数据片段,我会得到想要的结果,但是在二维中,第三维是颜色。你知道吗
有没有一种方法可以使用Matplotlib或等效的库在python中绘制这个模型
谢谢
编辑:
我想弄清楚我想要什么。你知道吗
我尝试了建议的解决方案,但收到了以下情节:
正如我们所看到的,由于网格中有很多零,所以它“隐藏”了3d轨道。在下面的图中,我们可以看到一段数据,在这里我得到下面的图:
所以你可以看到,我有一个特定的结构,我想在情节中表现出来。你知道吗
我的问题是,有没有办法只绘制结构而忽略零,这样它们就不会“隐藏”结构。你知道吗
我用来生成绘图的代码:
x = np.linspase(1,101,101)
y = np.linspase(1,101,101)
z = np.linspase(1,101,101)
xx,yy,zz = np.meshgrid(x,y,z)
fig=plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xx, yy, zz, c=cube.calc_data.flatten())
plt.show()
plt.imshow(cube.calc_data[:,:,11],cmap='jet')
plt.show()
希望现在的问题更清楚了,希望你现在对这个问题有足够的理解来投票
谢谢。你知道吗
您可以为散布调整标记的颜色和大小。例如,您可以通过将标记的大小设置为0来过滤掉低于某个阈值的所有标记。也可以使标记的大小与场强度相适应。你知道吗
例如:
您可以执行以下操作:
这段代码所做的是从数据矩阵中逐片进行,对于每个散点图,只需要所需的点(取决于epsilon)。你知道吗
在这种情况下,您可以避免使用您的文字绘制大量“隐藏”模型的零。你知道吗
希望这有帮助
相关问题 更多 >
编程相关推荐