Matplotlibを使って等高線図を作成しています。私は多次元配列のデータ をすべて持っています。それは2000年頃の12の長さです。したがって、 は基本的に2000の長さの12リストのリストです。私はコンタープロット が問題なく動作していますが、データを滑らかにする必要があります。私はたくさんの例を 読みました。残念ながら、私は が何をしているのかを理解するための数学の背景がありません。Matplotlibで等高線図のデータを平滑化
どうすればこのデータをスムーズにすることができますか?私はグラフが のように見えて、私はそれをもっと見たいと思っています。
これは私のグラフである:
私はそれがあまりにも多くの類似した見たいもの:
私は2番目のように等高線図を滑らかにする必要がありますどのような手段プロット?
私が使用しているデータは、XMLファイルから取得されています。しかし、配列の一部に の出力を示します。配列内の各要素は約2000項目の長さであるため、I は抜粋のみを表示します。ここで
はサンプルです:
[27.899999999999999, 27.899999999999999, 27.899999999999999, 27.899999999999999,
28.0, 27.899999999999999, 27.899999999999999, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.0, 28.100000000000001, 28.100000000000001,
28.0, 28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.100000000000001, 28.100000000000001,
28.100000000000001, 28.100000000000001, 28.0, 27.899999999999999, 28.0,
27.899999999999999, 27.800000000000001, 27.899999999999999, 27.800000000000001,
27.800000000000001, 27.800000000000001, 27.899999999999999, 27.899999999999999, 28.0,
27.800000000000001, 27.800000000000001, 27.800000000000001, 27.899999999999999,
27.899999999999999, 27.899999999999999, 27.899999999999999, 28.0, 28.0, 28.0, 28.0,
28.0, 28.0, 28.0, 28.0, 27.899999999999999, 28.0, 28.0, 28.0, 28.0, 28.0,
28.100000000000001, 28.0, 28.0, 28.100000000000001, 28.199999999999999,
28.300000000000001, 28.300000000000001, 28.300000000000001, 28.300000000000001,
28.300000000000001, 28.399999999999999, 28.300000000000001, 28.300000000000001,
28.300000000000001, 28.300000000000001, 28.300000000000001, 28.300000000000001,
28.399999999999999, 28.399999999999999, 28.399999999999999, 28.399999999999999,
28.399999999999999, 28.300000000000001, 28.399999999999999, 28.5, 28.399999999999999,
28.399999999999999, 28.399999999999999, 28.399999999999999]
は、これが唯一の抜粋である点に注意してください。データの次元は12行、 1959列です。列は、XML ファイルからインポートされたデータに応じて変わります。私はGaussian_filterを使用した後に値を見ることができ、彼らは を変更します。しかし、その変化は等高線プロットに影響を与えるほど大きくはありません。
私は以前この例を見てきました。しかし、私は私の配列でこれを動作させることができません。私の配列は、数字の配列ではなく、Pythonのリストであることに注意してください。これは問題を引き起こすでしょうか?もしそうなら、Pythonリストをnumpy配列に変換する最も簡単な方法は何ですか? – dman87
実際には、ndimage.gaussian_filterは実際にうまく動作するリストのリストを操作できます。 (例えば、 'ndimage.gaussian_filter(Z.tolist())'はうまくいきます)。問題は別の場所になければなりません。データを見ずに言うのは難しい。何がうまくいかないの?例外が発生していますか?または結果はちょうど正しく見えませんか? – unutbu
申し訳ありませんが、私はより具体的であったはずです。私はそれがリスト内の文字列であることが問題であったと信じています。しかし、contour()関数はそれについて不平を言っていませんでした。 エラーなしで動作させることができました。しかし、contour()の出力はまったく変更されません。 – dman87