問題タブ [matplotlib-basemap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - WinPython (または任意の Python スタック インストール) を使用して Windows 7 に Matplotlib ベースマップ モジュールをインストールする方法は?
Anaconda や WinPython などのスタック インストールの一部として Python がインストールされている場合、Windows 用の Basemap (matplotlib および Python のモジュール) バイナリ インストーラーがシステム上の Python を検出できないことがわかりました。インストール ディレクトリを指定するのではなく、インストーラが終了します。
したがって、ソース経由でインストールする必要があります。ただし、これを行う方法がわかりません。Readme.txt とインストール手順は役に立たないようです。彼らは単に「最初に geos-3.3.3 をインストールする」ように指示するだけです。そのディレクトリに setup.py がありません。
どんな助けでも素晴らしいでしょう。(Python 2.7、Win 7、64b)
python - 地図投影と強制補間
Basemap のさまざまな投影法を使用すると、奇妙な動作が発生します。
世界地図にプロットしたい測定グリッドの形状は [181,83] です。つまり、経度 -180° ~ 180° および緯度 -82° ~ 82° の範囲の 2°/2° ポイントごとに値があります。
円筒投影法を使用すると、返されたデータ グリッドは測定グリッドと等しくなり、すべて問題ありません。投影を「ミル」に変更すると、補間されたデータは元のデータとは異なります。
測定グリッドをそのままプロットする方法はありますが、投影の変化に関してですか?
python-2.7 - ベースマップは、地球全体ではなく、関心のある領域のみをプロットします
モルワイデ図法を使用する必要がありますが、関心のある領域のみをプロットします。(例: lat=[10,90]、lon=[-25, 45])。以下基本コード。
これは、Basemap ( http://matplotlib.org/basemap/api/basemap_api.html#mpl_toolkits.basemap.Basemap ) の一部のプロジェクションでは不可能なようです。
最終的なプロットをポリゴンでマスクできるかもしれません。しかし、おそらくもっときれいな方法がありますか?
python - ベースマップとデカルトを使用したプロットで PolygonPatch が表示されない
次のように、Shapely バッファリングされたポイントをいくつかプロットできます。
これにより、次のプロットが得られます。
ただし、Basemap を使用してこれらのポイントをプロットしようとすると、表示されません。
私は何を間違っていますか?
python - ベースマップのインストール/インポートの問題
64 ビット マシンに Anaconda (バージョン 1.6.2) をインストールしました。優れたライブラリ セットが付属していますが、matlibplot の一部である Basemap も必要ですが、Anaconda のインストールには含まれていません。Basemap をインストールして、Anacaonda\Lib\site-packages\mpl_toolkits ディレクトリにファイルを移動しようとしましたが、これは mpl_toolkits ライブラリの一部であるためです。ただし、スクリプトを実行しようとすると、「_geoslib という名前のモジュールがありません」「pyproj をインポートできません」というエラーが表示され続けます。
pyproj ライブラリを見つけました。必要ですか?geoslib はどこにありますか? また、ベースマップを機能させるにはどうすればよいですか?
python - ポリゴン内の等高線不規則データ
ポリゴン内の海面温度 (SST) データの塗りつぶされた等高線図を作成する必要がありますが、これを行う最善の方法がわかりません。X、Y、および SST のデータを含む 3 つの 1D 配列があり、以下を使用してプロットし、添付のプロットを作成します。
これらのデータを、ポリゴンの境界 (紫色の線) 内に制約 (クリップ) された塗りつぶされた等高線 (散布図ではなく輪郭線) としてプロットできるようにしたいと考えています。これを達成する方法についての提案は大歓迎です。
更新:
最初に griddata を試しましたが、正しく動作させることができませんでした。ただし、@eatHam から提供された回答に基づいて、もう一度やり直すことにしました。メソッド 'cubic' を選択するとグリッドにハングアップし続けるため、scipy griddata を機能させることができませんでしたが、matplotlib.mlab.griddata に切り替えて 'linear' 補間を使用すると機能しました。境界をマスキングするという提案は、非常に粗く、私が好むほど正確な解決策ではありませんでした。
matplotlib で輪郭をクリップする方法に関するオプションを検索したところ、このリンクで @pelson の回答が見つかりました。「輪郭セット自体にはset_clip_pathメソッドはありませんが、各輪郭コレクションを反復処理して、それぞれのクリップパスを設定できます」に示されている提案された解決策を試しました。私の新しい最終的な解決策は次のようになります(下のプロットを参照):
このソリューションは、特に北の極端なエッジを外挿するという点で改善される可能性があります。完全なポリゴンを実際に「塗りつぶす」方法についての提案を歓迎します。また、mlab が機能し、scipy が機能しない理由も理解したいと思います。
python - matplotlib-basemap を使用して tif 画像を正しく投影する方法
gdal と matplotlib-basemap を使用してラスター イメージを表示しようとしています。
ここでは、 basemap.interp 関数を使用した試みについて説明します。プロセスの全体的な構造化された概要については、私のIPython Notebookを参照してください。まず、ラスターをロードして投影するコード。
これにより、以下がプロットされます。
北アメリカと南アメリカの東海岸では、ラスター データと海岸線がずれていることが特に明らかです。
データが正しい射影で変換されるようにコードを適応させる方法がわかりません。
価値のあるもの:私の使用したラスター tif ファイル(ダウンロードすると、「a」と「no」の間に「-」が挿入されます。「ano_DOY..」の前、「a-no_DOY..」の後にあります)
python - matplotlib-basemap を使用して 1 つのポリゴンをプロットに追加する
次のコードがあります。
そして、このマップの上に、1 つのポリゴンだけで構成されるシェープファイルを表示したいと考えています。多角形は閉じた領域を定義します。手動でポリゴンを追加したり、シェープファイルから複数のポリゴンをプロットしたりする方法に関するさまざまなチュートリアルを見つけましたが、私の場合はそれを行うことができません。シェープファイルの属性テーブルは、' c ' と ' area 'の 2 つのフィールドのみで構成されています。
とりあえずここまでたどり着きました