2

GPS ログの位置の x 座標と y 座標を表すタプルのペアを含むリストがあります。これは単に [(x1, y1), (x2,y2), (x3, y3)....] のようなものです。

リスト内の同じ (x,y) 位置が複数回繰り返される場合があります。今、私がやりたいことは、これらの場所を表す図を描き、相対頻度、つまり最も頻繁に訪れた場所も示すことです。その場所が訪問された回数を表すバブルのサイズを持つバブル チャートか、ヒートマップのどちらかが最も役立つ方法だと思います。

matplotlib ライブラリを使用して Python でこれを行う最も簡単な方法は何でしょうか?

4

1 に答える 1

4

collections.Counterを使用して、(x,y)ペアの頻度をカウントします。plt.scatterのパラメーターを使用sしてサイズを制御し、cパラメーターを使用して色を制御します。sパラメータとパラメータはどちらも、c引数としてシーケンスを取ることができます。

import matplotlib.pyplot as plt
import collections
import numpy as np

data = [tuple(pair)
        for pair in np.random.uniform(5, size=(20,2))
        for c in range(np.random.random_integers(50))]
count = collections.Counter(data)

points = count.keys()
x, y = zip(*points)
sizes = np.array(count.values())**2
plt.scatter(x, y, s=sizes, marker='o', c=sizes)
plt.show()

ここに画像の説明を入力

于 2013-03-19T16:14:46.013 に答える