1. ホーム
  2. python

[解決済み] x, y座標のリストをpythonでプロットする matplotlib

2022-05-10 05:07:05

質問

ペアのリストがあります (a, b) でプロットしたい matplotlib を実際のx-y座標としてpythonでプロットしたいと思います。現在、2つのプロットを作成していますが、そこではリストのインデックスがx座標を与え、最初のプロットのy値は a のペアで、2 番目のプロットの y 値は b のペアになります。

明確にするために、私のデータは次のようになります。 li = [(a,b), (c,d), ... , (t, u)] を呼び出すだけのワンライナーを作りたいのです。 plt.plot() を呼び出すだけのワンライナーを作りたいのですが、不正解です。 もしワンライナーを必要としないのであれば、私は些細なことでも実行できます。

xs = [x[0] for x in li]
ys = [x[1] for x in li]
plt.plot(xs, ys)

matplotlibにこれらのペアをx-y座標としてプロットさせるにはどうしたらよいでしょうか?

どのように解決するのですか?

による 本例 :

import numpy as np
import matplotlib.pyplot as plt

N = 50
x = np.random.rand(N)
y = np.random.rand(N)

plt.scatter(x, y)
plt.show()

が出てきます。

データをペアからリストに展開するには zip :

x, y = zip(*li)

そこで、一発芸。

plt.scatter(*zip(*li))