0

XY プロットをスタックするために PolyCollection を使用する mplot3d の例を使用していますhttp://matplotlib.org/examples/mplot3d/polys3d_demo.html

ただし、プロットに奇妙なライン アーティファクトが見られます。

  • 可視領域から消える水平線を削除するにはどうすればよいですか?
  • 深さ方向に沿って XY プロットを積み重ねるより良い方法はありますか?

次のスクリプトは、このプロットを生成します。

mplot3d プロットの奇数行

from mpl_toolkits.mplot3d import Axes3D
from matplotlib.collections import PolyCollection
from matplotlib.colors import colorConverter
import matplotlib.pyplot as plt
import numpy as np

zs = []
fig = plt.figure()
ax = fig.gca(projection='3d')
verts = []

# XY data (i.e. "normal line plots")
count = 4
for i in range(count):
    xs, ys = [800.0, 900.0, 1000.0, 1100.],  [0., 1., 1., 0.]
    verts.append(list(zip(xs, ys)))

# Z position (i.e. depth at which the XY plot is drawn)
zs = [0,1,2,3]

colours = plt.cm.Blues(np.linspace(0.2, 0.8, len(zs)))
poly = PolyCollection(verts, facecolors = colours )
ax.add_collection3d(poly, zs=zs, zdir='y')

ax.set_xlabel('X')
ax.set_xlim3d(800,1150)
ax.set_ylabel('Y')
ax.set_ylim3d(0, 4)
ax.set_zlabel('Z')
ax.set_zlim3d(0, 1)
plt.show()
4

1 に答える 1