私はサイズが500×28000のマトリックスを持っていますが、その間には多くのゼロが入っています。しかし、私たちが行列Aでの作業の例を考えてみましょう:Python:ゼロを無視して2D行列のヒートマップをプロットする方法はありますか?
A = [[0, 0, 0, 1, 0],
[1, 0, 0, 2, 3],
[5, 3, 0, 0, 0],
[5, 0, 1, 0, 3],
[6, 0, 0, 9, 0]]
私は上記の行列のヒートマップをプロットしたいと思いますが、それはゼロを多く含んでいるために見られるように、ヒートマップは、ほとんど空白が含まれています下の図をご覧ください。
マトリックス内のゼロを無視してヒートマップをプロットするにはどうすればよいですか?
im = plt.matshow(A, cmap=pl.cm.hot, norm=LogNorm(vmin=0.01, vmax=64), aspect='auto') # pl is pylab imported a pl
plt.colorbar(im)
plt.show()
生成します:
あなたはそれが原因で空白が表示され、ゼロである見ることができるよう
は、ここで私が試した最小限の実施例です。
私の元のマトリックスサイズ500X280000にはゼロがたくさん含まれているので、カラーマップがほぼ白くなります!あなたがLogNormを削除した場合
私は、視覚化が明確でないという理由だけでデータを削除することを納得させるわけではありません。データをグループ化したり、別の種類のプロットを探していましたか?あなたが作業しているデータの性質についてもっと詳しく教えてください。 –
私は、私のデータを視覚的に表現するためのカラープロット以外のものは考えられませんでした。それを表現する他の方法がある場合は、私に知らせてください。 – Rangooski
ヒートマップをプロットする前に、階層的クラスタリングを使用することができます。 – GWW