如何有效地添加或更新3D曲线的颜色(无for循环?)>

问题描述 投票:0回答:1

问题:

  1. 是否有一种方法可以比我目前更有效地向3D曲线图中添加颜色(例如,避免循环)?
  2. 是否有一种方法可以更新图的颜色而又不重新绘制它?
  3. 是否有一种方法可以更新一个或多个坐标矢量而又不必重新绘制?
  4. 说明:

我正在绘制3D曲线的图,其颜色类似于下面的示例中的颜色。我的实际图形中的点数很高,例如n > 10000,这使此方法非常慢。

此外,坐标和颜色与固定点数

相关联,这构成了曲线取决于另一个变量(即时间)。因此,我想一次绘制点,然后更新一个或所有矢量(xyzc),以加快每个时间步的绘制。

使用的代码:

import numpy as np
from mpl_toolkits import mplot3d
import matplotlib.pyplot as plt

n = 100
x = np.arange(n)
y = np.arange(n)
z = np.arange(n)
colors = np.arange(n)/n

fig = plt.figure()
ax = fig.gca(projection='3d')
for i in range(1,len(x)-1):
    ax.plot(x[i-1:i+1], \
            y[i-1:i+1], \
            z[i-1:i+1], \
            c = plt.cm.jet(colors[i]))
plt.show()

[问题:是否有一种方法可以比我目前更有效地向3D曲线图添加颜色(例如,避免循环)?有没有一种方法可以在不绘制所有图形的情况下更新图形的颜色...

python-3.x matplotlib curve colormap
1个回答
0
投票

EDIT:

© www.soinside.com 2019 - 2024. All rights reserved.