2012-11-28 17 views
6

मेरे पास एक विशिष्ट खंड के साथ एक ध्रुवीय साजिश है जिसे मैं पूरी तरह से लाल रंग में रंगना चाहता हूं (यह दो लाल रेखाओं के बीच चिह्नित अनुभाग है। क्या कोई कार्य है कि उस अनुभाग रंग होगा या यह संभव है पैच संग्रह का उपयोग कर एक ठोस अंगूठी क्षेत्र पाने के लिएपायथन: एक रिंग सेक्टर या एक ध्रुवीय प्लॉट में एक वेज जोड़ें

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

एक कील के लिए रास्ता हो रहा है जाओ, लेकिन डिफ़ॉल्ट रूप से इसे भी ध्रुवीय समन्वय में बदल दिया जाएगा आटेस। आप axes परिवर्तन को वेज दे सकते हैं, जो दृष्टि से काम करेगा, लेकिन यदि आप डेटा के आधार पर प्लैट किए गए वेजेज चाहते हैं तो इसे कठिन बनाएं।

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

enter image description here

:

ऐसा किया जा सकता था