在Matplotlib中向3d颤动图添加颜色

在Matplotlib中向3d颤动图添加颜色,第1张

在Matplotlib中向3d颤动图添加颜色

3D颤抖图是1.4中的一项新功能(及其文档),其边缘可能仍然有些粗糙。在这种情况下,我们可以尝试使用这样一种事实,即将颤动实现为

LineCollection
(最终)继承自颤动,
ScalarMappable
这意味着它知道什么是色彩映射表,并且返回的艺术家具有方法
set_array

在这里建立文档

from mpl_toolkits.mplot3d import axes3dimport matplotlib.pyplot as pltimport numpy as npfig = plt.figure()ax = fig.gca(projection='3d')x, y, z = np.meshgrid(np.arange(-0.8, 1, 0.2),np.arange(-0.8, 1, 0.2),np.arange(-0.8, 1, 0.8))u = np.sin(np.pi * x) * np.cos(np.pi * y) * np.cos(np.pi * z)v = -np.cos(np.pi * x) * np.sin(np.pi * y) * np.cos(np.pi * z)w = (np.sqrt(2.0 / 3.0) * np.cos(np.pi * x) * np.cos(np.pi * y) *     np.sin(np.pi * z))q = ax.quiver(x, y, z, u, v, w, length=0.1, cmap='Reds', lw=2)q.set_array(np.random.rand(np.prod(x.shape)))plt.show()

但是,您会注意到 磁头 的颜色与 轴的 颜色不同,这是由于实现方式的实现细节所致,每个零件都以自己的线条绘制。

直接使用

Norm
和颜色映射函数并将结果传递给
colors
一个更好的方法。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5666814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存