Wolfram mathematica 如何组合两个列表以绘制坐标对?

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}] 下面是另一个答案,它创建了一个可重用的函数来配对两个向量。该

我已将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 = {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}]
来简化此过程。请为您的代码添加一些解释,以便其他人可以从中学习