Wolfram mathematica 如何组合两个列表以绘制坐标对?
我已将x数据(来自文本文件)读入列表1,y数据类似地读入列表2:Wolfram mathematica 如何组合两个列表以绘制坐标对?,wolfram-mathematica,Wolfram Mathematica,我已将x数据(来自文本文件)读入列表1,y数据类似地读入列表2: list1 = { 0.0, 0.172, 0.266, ..} list2 = {-5.605, -5.970, -6.505, ..} 我如何结合这两个列表来绘制点{0.0,-5.605},{0.172,-5.970},{0.266,-6.505},…。如果你不喜欢Pinguin Dirk的建议,试试看 Transpose[{list1,list2}] 下面是另一个答案,它创建了一个可重用的函数来配对两个向量。该
list1 = { 0.0, 0.172, 0.266, ..}
list2 = {-5.605, -5.970, -6.505, ..}
我如何结合这两个列表来绘制点{0.0,-5.605},{0.172,-5.970},{0.266,-6.505},…。如果你不喜欢Pinguin Dirk的建议,试试看
Transpose[{list1,list2}]
下面是另一个答案,它创建了一个可重用的函数来配对两个向量。该函数使用映射最短向量长度的纯函数来创建对
list1 = {1, 2, 3, 4, 5};
list2 = {13, 18, 20, 18, 13};
pairUp[xValues_ , yValues_] := ({xValues[[#]], yValues[[#]]}) & /@
Range[Min[Length[xValues], Length[yValues]]];
pairUp[list1, list2]
(*
{{1, 13}, {2, 18}, {3, 20}, {4, 18}, {5, 13}}
*)
希望这有帮助
爱德蒙
附言:刚接触Mathematica,希望通过不时回答这里的几个问题来提高我的理解力。还有一个
MapThread[ {#1, #2} & , {list1, list2}]
或者,如果您想优雅地处理长度不等的列表:
MapThread[ {#1, #2} &, Take[#, All, Min @@ Length /@ #] &@{list1, list2} ]
给你
Partition[Riffle[x,y],2]
也许你想试试:
Riffle[list1,list2]~Partition~2
用户应该得到一个解释,解释为什么关闭了这个分区。这肯定不是“离题”。对收信人来说:你对一门你根本不懂的语言(Mathematica(TM))的看法是不受欢迎的。你应该更明智地运用你的亲密力量。可能是@belisarius的复制品我想我对这门语言略知一二,但我仍在投票决定结束-p(注意眨眼)您甚至可以通过使用MapThread[List,{list1,list2}]
来简化此过程。请为您的代码添加一些解释,以便其他人可以从中学习