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

图形函数具有 HoldAll 属性,这意味着参数集是根据第一个参数的未计算形式确定的。由于它的头部是 Table(而不是 List),因此分配了单一颜色。要更改默认行为,只需将 Plot3D 的第一个参数包含在 Evaluate[] 中

由于没有提供 SocPlanGen 的定义,我无法自己检查,但我很确定这是解决方案

于 2013-03-27T23:39:46.527 回答
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 回答