11

matplotlib でいくつかの曲線をプロットしようとしています。
しかし、これらの曲線はビューポートから互いに重なり合っているためです。
したがって、ここでは z オーダーだけでは役に立ちません。

matplotlib に深度バッファのような機能があるのだろうか。
私はこのようなものをプロットしています。
また、赤い線は 3D 空間で常に上にあるとは限りません。

4

2 に答える 2

17

3D プロット機能を備えた 2D プロット ライブラリであるため、matplotlib でそのようなことを行うのは難しいと思います。visvis、mayavi、vpython などの実際の 3D プロット ライブラリをお勧めします。たとえば、visvis では、次のような 3D 曲線を作成できます。

ここに画像の説明を入力

import numpy as np
import visvis as vv
app = vv.use()

f = vv.clf()
a = vv.cla()

angle = np.linspace(0, 6*np.pi, 1000)
x = np.sin(angle)
y = np.cos(angle)
z = angle / 6.0
vv.plot(x, y, z, lw=10)

angle += np.pi*2/3.0
x = np.sin(angle)
y = np.cos(angle)
z = angle / 6.0 - 0.5
vv.plot(x, y, z, lc ="r", lw=10)

app.Run()

マヤビ:

ここに画像の説明を入力

import numpy as np
from mayavi import mlab

angle = np.linspace(0, 6*np.pi, 1000)
x = np.sin(angle)
y = np.cos(angle)
z = angle / 6.0

mlab.plot3d(x, y, z, color=(1,0,0), tube_radius=0.1)

angle += np.pi*2/3.0
x = np.sin(angle)
y = np.cos(angle)
z = angle / 6.0 - 0.5
mlab.plot3d(x, y, z, color=(0,0,1), tube_radius=0.1)

mlab.axes()
mlab.show()
于 2012-09-03T05:11:47.860 に答える
1

この関数を使用してfill_between、領域に手動で色を付けることができます。ランダムウォーカーの例を参照してください。

http://matplotlib.sourceforge.net/users/recipes.html

http://matplotlib.sourceforge.net/users/recipes-6.py

于 2012-08-30T13:39:16.447 に答える