0

x2 つのフィールドを比較しています。どちらも名義で、1 と 0 のみです。男性と女性、およびデフォルトとデフォルトなし (さらに、同様の形式のさらに多くのデータ)。それを散布図に入れると、もちろんこれらすべてのシナリオが発生するため、4 つのドットしか得られませんが、問題は、それぞれのケースで何回発生するかです。それを裏返して、各ドットがその 4 つのポイントの 1 つに何回ヒットするかの頻度を確認できたら素晴らしいと思います。

例えば:

x = [1,0,0,0,...1,1,0,1]
y = [0,1,1,0,...1,0,1,0]

私はコードを持っています:

def scatterPlot3dFields():
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.scatter(x, y, ???)
    plt.show()

しかし、これを実現するために z 軸に何を入れればよいかわかりません。どんな助けでも素晴らしいでしょう。

4

1 に答える 1

0

を探しているようですね。np.histogram2dこれは、2 次元データの頻度 (出現回数という意味で) を決定するための優れた方法です。次のようなものを試すことができます:

import numpy as np

# data of 1s and 0s
n_points = 100
x = np.random.randint(2, size=n_points) # ([1, 0, 1, ... , 0, 0, 1])
y = np.random.randint(2, size=n_points) # ([0, 1, 1, ... , 1, 0, 1])

H, xedges, yedges  = np.histogram2d(x, y, bins=2)
# H = frequency from the four points (0, 0), (0,1), (1,0), and (1,1)
# H = ([21, 26], [32, 21]]) for example (must sum to n_points (100))

また、周波数を視覚化したいようです。これを行うには、3D 棒グラフ ( bar3d) を使用できます。このmatplotlibのサンプルコードをチェックしてください。

于 2016-04-30T09:14:22.353 に答える