2017-06-07 22 views
0

スピードと方向をプロットしたウインストローン図をプロットして、色を決定する濃度をプロットしようとしています。残念ながら、matplotlibは2つの変数しかサポートしていません。私が欲しいものを示しているが、それをビンに入れて画像が添付されたように出るようにする方法はわかりません(Halliday et al 2016)。Windroseをプロットする:濃度を色に設定して汚染を増やす

散布図はウインドローズに変更する必要があります。私が示したプロットがpcolormeshを使用して作成することができ

答えて

1

を再作成したい紙から色

画像でマークされた高濃度のエリア。あなたはこのにデータを読み込むにはどうすればよい

import matplotlib.pyplot as plt 
import numpy as np 

theta = np.linspace(0,2*np.pi) 
r = np.linspace(2,15,16) 

Theta, R = np.meshgrid(theta, r) 
C = np.sinc(Theta-2)+(5-np.sqrt(R))+np.random.rand(len(r),len(theta)) 
C = np.ma.masked_less_equal(C,2) 

fig, ax = plt.subplots(subplot_kw={"projection":"polar"}) 

ax.pcolormesh(Theta, R, C, vmin=2, vmax=5) 

plt.show() 

enter image description here

+0

?私は3つの別々のデータセット(風速、風向、濃度)を読み込もうとしていますが、バリューエラー(解凍には不十分です)を続けています。 3つの配列はすべて(1341)です。あなたのコードはランダムなフィラーデータで動作しますが、私のデータを試して読むときには使用しません。 – danrod13

+0

例のように、データは2D配列である必要があります。私はあなたのデータを知らないので、自分でそれを理解する必要があります。 2Dデータを取得する方法については、[この回答](https://stackoverflow.com/a/44355400/4124317)を参照してください。 – ImportanceOfBeingErnest

+0

データをどこで読むべきですか?だからvar1、var2、var3がそれぞれ風速、風向、汚染物質の濃度であれば、それらをあなたの関数にどのようにプロットすればいいでしょうか? 3つすべてが2次元配列であるとしましょう。私は間違った場所にデータを読み込もうとしていると思います。 – danrod13

関連する問題