在Mathematica中使用两个数据集进行ListPlot

5

如果我有保持数据集独立的理由,那么有没有更简洁的方法来完成以下操作呢?

x = {1, 2, 3};
y = {1, 4, 9};

ListPlot[Partition[Riffle[x, y], 2]]

谢谢!

3个回答

14

我不认为Timo的解决方案是标准的。 这里有两种方法,使用TransposeThread,我经常看到人们使用。

x = {1, 2, 3};
y = {1, 4, 9};
Transpose[{x, y}]
Thread[{x, y}]

输出:

{{1, 1}, {2, 4}, {3, 9}}
{{1, 1}, {2, 4}, {3, 9}}

这两种方法都避免了显式引用您的数据长度,这对我来说很重要。


14

ListPlot[Transpose[{x, y}]]


2
如果您使用转置的短符号表示,那么它甚至更加简洁:{x,y} ESC tr ESC - gdelfino

-1
ListPlot[{x,y}]

编辑:@Davorak:肯定会的。如果OP想要“y对x”,那么

ListPlot[y]

都可以。无论哪种方式,我都不理解一个非常简单的问题的复杂答案。然而,我也不理解SO上很多问题。


1
我不这么认为。这将绘制两个独立的趋势。 - Davorak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接