问题
Is there a cleaner way to do the following, assuming that I have a reason to keep the data sets independent?:
x = {1, 2, 3};
y = {1, 4, 9};
ListPlot[Partition[Riffle[x, y], 2]]
Thanks!
回答1:
I do not think Timo's solution is standard.
Here are two methods, using Transpose
or Thread
, that I have often seen used.
x = {1, 2, 3};
y = {1, 4, 9};
Transpose[{x, y}]
Thread[{x, y}]
Output:
{{1, 1}, {2, 4}, {3, 9}}
{{1, 1}, {2, 4}, {3, 9}}
Both of these methods avoid explicitly referencing the length of your data which is plus in my book.
回答2:
ListPlot[Transpose[{x, y}]]
回答3:
ListPlot[{x,y}]
EDIT: @Davorak: it certainly will. If OP wants 'y against x' then
ListPlot[y]
would suffice. Either way, I don't understand the complicated answers to a very simple question. But then, I don't understand a lot of the questions on SO.
来源:https://stackoverflow.com/questions/2602991/listplot-with-two-data-sets-in-mathematica