0

Mathematica には、テーブルの各エントリが 3 次元の曲線であるテーブルがあります。異なる曲線に異なる色を割り当てたいのですが、その方法がわかりません。

私の現在のコマンドは次のとおりです。

Plot3D[
      Table[
            Max[Table[SocPlanGen[4,1,1,R,2,p,Min[4/(1+2 k/N),N], N], {k,0,N}]]
                ,{N, 1, 4}
           ]
      , {R,2,20}, {p, 0.1, 1}
      , PlotStyle -> ColorData[1, "ColorList"], PlotLegends -> {"4","3","2","1"}
      ]

ここで、SocPlanGen[.] は以前に定義した関数です。

外側の Table[.] には 4 つのエントリ ({N,1,4}) があります。外側の Table[.] の各エントリは、空間 (R,p) で定義された曲線であり、各曲線を別々の色にしたいと考えています。しかし、私が現在持っている方法では、すべての曲線は同じテーブルに属しているため、同じ色です。

どんな提案でも大歓迎です!

4

2 に答える 2

0

ColorFunctionオプションを使用してみましたか?

テーブルに関する問題(および対応するソリューション)に似た最良の例は、ここで実装されているようです( ColorFunction とユーザーbelisariusによる別の方法を使用):

https://mathematica.stackexchange.com/questions/16963/how-do-i-identify-each-surface-in-a-multi-surface-plot3d

于 2013-03-09T04:13:52.327 に答える
0

グラフィックス関数には HoldAll 属性があります。これは、パラメーターのセットが最初の引数の未評価の形式に基づいて決定されることを意味します。そのヘッドは(リストではなく)テーブルであるため、単一の色が割り当てられます。デフォルトの動作を変更するには、Evaluate[] で Plot3D の最初の引数を囲むだけです。

SocPlanGen の定義が提供されていないため、自分で確認することはできませんが、これが解決策であることは確かです

于 2013-03-27T23:39:46.527 に答える