10

matplotlib imshow を使用して、numpy 配列からデータをグラフ化しています。ただし、一部のポイントにはデータがありません。np.zeroes を使用して配列を初期化したため、これらのポイントがマップ全体を引きずっています。どのデータも 0.0 の値を持たないことはわかっています。これらの点を無視するように imshow ルーチンに指示する方法はありますか (つまり、それらが空であることを明確にするために、それらを白のままにします)。

4

2 に答える 2

15

ゼロの代わりに NaN を使用して配列をインスタンス化して、matplotlib のデフォルトが NaN を無視するかどうかを確認しましたか? 論理インデックスを使用して、プロットの直前に 0 の位置を NaN に等しくすることもできます。

my_data[my_data == 0.0] = numpy.nan

または、NaN のアイデアを使用して、このリンクのアドバイスに従い、 NumPy マスク配列を使用して、NaN エントリを好みの色でプロットすることもできます。

そのリンクのアイデアを使用して、気に入らない場合は NaN オプションに移動せずに、ゼロの場所でもマスクされた配列を作成することもできると思います。

于 2012-04-11T22:08:41.640 に答える
3

表示すべきでないポイントについては、配列を Python None でパディングします。

y_series_1 = [1,None,None,4,5]
y_series_2 = [1,2,5,6,7]

この例では、y_series_1 ラインは 2 番目と 3 番目のポイントで X 軸から消えます。その結果、改行が発生します (行が始まり、消え、4 番目のポイントで継続します)。

于 2012-12-19T15:25:26.640 に答える