2012-11-28 9 views
6

私は完全に赤色で色付けしたい特定のセクションを持つ極座標プロットを持っています(2つの赤い線の間にマークされたセクションです)。それは、そのセクションを色付けしますそれとも、パッチコレクションを用いた固体リング部門を取得することが可能であるPython:極座標にリングセクタまたはウェッジを追加

enter image description here

ここに私のスクリプトです:??

from pylab import * 
import matplotlib.pyplot as plt 
import numpy as np 
import pylab 
from matplotlib.projections import PolarAxes 



############################################################################### 
############################################################################### 


fig = figure() 
ax = fig.add_subplot(111, projection = 'polar') 


subplot(111,projection='polar') 
theta = arange(1000)*2*pi/1000. 

plot(theta,0.25*ones(1000),'m') #A to B Circle 
plot(theta, 0.65*ones(1000), 'm') # B to C Circle 
plot([0, 0],[0.25,0.65],'m') # A to B 0 degrees line 
plot([pi/4.,pi/4.],[0.25, 0.65], 'm') # A to B 45 degrees line 
plot([pi/2, pi/2.],[0.25, 0.65], 'm') # A to B 90 degrees line 
plot([3*pi/4.,3*pi/4],[0.25, 0.65], 'm') # A to B 135 degrees line 

plot([pi,pi],[0.25,0.65],'m') # A to B 180 degrees line 
plot([5*pi/4,5*pi/4],[0.25, 0.65], 'm') # A to B 225 degrees line 
plot([3*pi/2,3*pi/2],[0.25, 0.65], 'm') # A to B 270 degrees line 
plot([7*pi/4,7*pi/4],[0.25, 0.65], 'm') # A to B 315 degrees line 

plot([2*pi,2*pi],[0.25,0.65],'m') # A to B 360 degrees line 

plot([0, 0],[0.65,1],'m') # B to C 0 degrees line 
plot([pi/6,pi/6],[0.65, 1], 'm') # B to C 30 degrees line 
plot([pi/3,pi/3.],[0.65,1], 'm') # B to C 60 degrees line 
plot([pi/2,pi/2],[0.65,1], 'm') # B to C 90 degrees line 

plot([2*pi/3,2*pi/3],[0.65,1],'m') # B to C 120 degrees line 
plot([5*pi/6,5*pi/6],[0.65,1], 'm') # B to C 150 degrees line 
plot([pi,pi],[0.65,1], 'm') # B to C 180 degrees line 
plot([7*pi/6,7*pi/6],[0.65,1], 'm') # B to C 210 degrees line 

plot([4*pi/3,4*pi/3],[0.65,1],'r', linewidth = 5) # B to C 240 degrees line 
plot([3*pi/2,3*pi/2],[0.65,1], 'r', linewidth = 5) # B to C 270 degrees line 
plot([5*pi/3,5*pi/3],[0.65, 1], 'm') # B to C 300 degrees line 
plot([11*pi/6,11*pi/6],[0.65,1], 'm') # B to C 330 degrees line 

plot([2*pi,2*pi],[0.65,1],'m') # B to C 360 degrees line 




#patches = [Wedge((0,0), 1, 4*pi/3, 3*pi/2)] 
#p = PatchCollection(patches) 
#ax.add_collection(p) 

rgrids((1,1),('','')) 


ax.set_theta_zero_location("N") 
ax.set_theta_direction('clockwise')   

show() 

答えて

1

ウェッジはへの道であると思われますデフォルトでは、それは極座標にも変換されますates。ウェッジに視覚的に作用する軸変換を与えることができますが、データに基づいてウェッジをプロットしたい場合は難しくなります。

それは次のように行われる可能性:

ax.add_artist(Wedge((.5,.5), 0.53, 180, 215, width=0.2, transform=ax.transAxes, color='red')) 

enter image description here

関連する問題