我希望能够很快恰当地提出这个问题。
请考虑:
list1 = Tuples[Range[1, 5], 2];
list2 = Tuples[Range[3, 7], 2];
* 我使用以下机制在显示期间显示所有过滤的眼睛注视。 *
Manipulate[Row[
MapThread[Function[{list},
Graphics[
Point[{#[[1]], #[[2]]}]& /@ Select[list,
(#[[1]] > f1 && #[[2]] > f2) &],
Frame -> True, PlotRange -> {{0, 10}, {0, 10}}]],
{{list1, list2}}]],
{f1, 0, 10}, {f2, 0, 10}]
现在,我想累计显示每个固定(点)一次。
那是:
给出
list1 = {{1, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 1}, {2, 2}, {2, 3}, {2, 4},
{2, 5}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}, {4, 1}, {4, 2}, {4, 3},
{4, 4}, {4, 5}, {5, 1}, {5, 2}, {5, 3}, {5, 4}, {5, 5}}
使用滑块在此处显示1到25个点。但在过滤1到长度@过滤数据后
控制固定编号的滑块还有一个固定的边界(25),而它应该有一个等于已过滤列表的长度。
但由于Mapthread
而有2个。
我无法将Mapthread
扩展到Manipulate Control,我可以吗?
Manipulate[Row[MapThread[Function[{list},
Graphics[
Point[{#[[1]], #[[2]]}]& /@ Select[list,
(#[[1]] > f1 && #[[2]] > f2) &]
[[1 ;; dd, All]],
Frame -> True, PlotRange -> {{0, 10}, {0, 10}}]],
{{list1, list2}}]],
{f1, 0, 10}, {f2, 0, 10},{dd,0,25}]
答案 0 :(得分:2)
也许是这样的:
(注意代码效率)
list1 = Tuples[Range[1, 5], 2];
list2 = Tuples[Range[3, 7], 2];
f = (Select[#, (#[[1]] > f1 && #[[2]] > f2) &] &);
Manipulate[
Row@Graphics[Point@#, Frame -> True, PlotRange -> {{0, 10}, {0, 10}}] & /@
Map[Map[f, {#}][[All, 1 ;; Min[dd, Length @@ Map[f, {#}]], All]] &,
{list1, list2}],
{f1, 0, 10}, {f2, 0, 10}, {dd, 0, 25, 1}]
答案 1 :(得分:1)
使用{dd, 0, 25, 1}
试用。这两者都允许它正确地解析(关闭括号)并保持它真实,可以说,阻止dd
被真正重视。