7

matplotlib 3D プロットでは、表面に表示される面の総数を決定する行/列の数を設定できます。

s=ax.plot_surface(x,y,z, color='gray', shade=True, rstride=1,cstride=1)

rstride と cstride の数値が小さいほど、面が小さくなります。このサーフェスに流線/軌跡もプロットしているので、面のエッジを取り除きたいと思います。今、

s.set_linewidth(0)

rstride と cstride の値を低く設定すると、希望どおりのものがほぼ得られます。つまり、表面の色がほぼ連続的に変化し、良好な 3D 効果が得られます。

残念ながら、面の間の空の場所として、線がそこに残ります。これを行う方法はありますか?たぶん、単純なコマンドが欠けているだけです..

編集: サーフェスを生成するコードは、ここで報告するには長いです。上記の回避策を使用した結果のスナップショットを添付します。白い線のある面

4

1 に答える 1

11

そこにも追加antialiased=Falseしてみましたか?

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1)

ここに画像の説明を入力

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0)

ここに画像の説明を入力

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0, antialiased=False)

ここに画像の説明を入力

于 2013-02-20T10:43:36.263 に答える