pythonにはaxes
の組み込みpolar
投影があります。このプロジェクションでは、ほとんどすべてのプロット方法を極座標で自動的に使用できます。これはあなたが望むものはほとんどです。この
のようなプロットを生成することを
import numpy as np
from matplotlib import pyplot as plt
r = np.linspace(0,4,5)
theta = np.linspace(0,2*np.pi,10)
theta,r = np.meshgrid(theta,r)
values = np.random.rand(*(theta.shape))
ax = plt.subplot(111,polar=True)
ax.pcolor(theta,r,values)
plt.show()
注意が次のように具体的には、あなたがpcolor
またはpcolormesh
する必要があります。明らかな問題は、パッチの頂点が円弧に続く線ではなく直線で結ばれることです。これは、角度配列をより高密度にすることで解決できます。ここにそれを可能にする方法があります。
を生成する
import numpy as np
from matplotlib import pyplot as plt
r = np.linspace(0,4,5)
theta = np.linspace(0,2*np.pi,10)
values = np.random.rand(r.size,theta.size)
dense_theta = np.linspace(0,2*np.pi,100)
v_indeces = np.zeros_like(dense_theta,dtype=np.int)
i = -1
for j,dt in enumerate(dense_theta):
if dt>=theta[i+1]:
i+=1
v_indeces[j] = i
T,R = np.meshgrid(dense_theta,r)
dense_values = np.zeros_like(T)
for i,v in enumerate(values):
for j,ind in enumerate(v_indeces):
dense_values[i,j] = v[ind]
ax = plt.subplot(111,polar=True)
ax.pcolor(T,R,dense_values)
plt.show()
私はMathWorks社のMATLABでこれを行う方法を認識していないが、私の周りGoogleで検索して、それは極座標でpcolor
プロットを生成することができます言うthisを見つけました。あなたはそれをチェックアウトする必要があります。
あなた自身のカスタム 'patch'オブジェクトを作成する必要があります – Suever
私は簡単にそれを行うことを学ぶことができますどのWebサイト? –