私は3Dの私の線の間のスペースを埋めるようにしています。3Dプロットの2つの線の間の色付け
私は次のコードを持っている:
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.collections import PolyCollection
import matplotlib.pyplot as plt
import numpy as np
class plotting3D(object):
"""
Class to plot 3d
"""
def __init__(self):
pass
def cc(self, arg):
return colorConverter.to_rgba(arg, alpha=0.6)
def poly3d(self, df):
"""
Method to create depth of joints plot for GP regression.
"""
fig = plt.figure(figsize=(10,10))
ax = fig.gca(projection='3d')
which_joints = df.columns
dix = df.index.values
zs = [1,4]
verts = []
for j in which_joints:
verts.append(list(zip(dix,df[j])))
poly = PolyCollection(verts,facecolors=[self.cc('r'), self.cc('g')])
poly.set_alpha(0.6)
ax.add_collection3d(poly, zs=zs, zdir='y')
ax.set_ylim([0, 5])
ax.set_zlim([0, 20])
ax.set_xlim([0,dix[-1]])
ax.grid(False)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
いくつかの合成データ:今、私はライン間のスペースを埋めるためにしたい
:
k= pd.DataFrame(20*np.random.rand(10,2),columns=['foot','other_foot'])
がこれを生成しますがと答えてz=-30
NOT z=0
これは私が変更しようとしているものです。
の値をとり、1000
の値をとります。また、ang
データフレームの値は、-30
〜10
の範囲の値を持ちます。
したがって、私はこのオフセットバージョンを作成しようとしています:
と少なくとも 'Z = 0 '(で終了:あなたはあなたが今やっていることと似
3d
フィギュアに追加することができますので、PolyCollection
を返しfill_between
'z = 0'の代わりに' z = -30'から塗りつぶすために、おそらく 'z = -30'に座標を追加/追加する必要があります。 – Bartz軸のデータの範囲は 'z = [ - 30,15]'かそれらに沿ったものです。 – Astrid
p.s .:問題を示す最小限の作業例(http://stackoverflow.com/help/mcve)を提供すると非常に役に立ちます。それは他の人があなたを助けるのがずっと楽になります。 – Bart