<p>可以绘制一个楔块,然后用三角形隐藏其中的一部分:</p>
<pre><code>import matplotlib.patches as mpatches
import matplotlib.pyplot as plt
import numpy as np
def filled_arc(center, radius, theta1, theta2, ax, color):
circ = mpatches.Wedge(center, radius, theta1, theta2, fill=True, color=color)
pt1 = (radius * (np.cos(theta1*np.pi/180.)) + center[0],
radius * (np.sin(theta1*np.pi/180.)) + center[1])
pt2 = (radius * (np.cos(theta2*np.pi/180.)) + center[0],
radius * (np.sin(theta2*np.pi/180.)) + center[1])
pt3 = center
pol = mpatches.Polygon([pt1, pt2, pt3], color=ax.get_axis_bgcolor(),
ec=ax.get_axis_bgcolor(), lw=2 )
ax.add_patch(circ)
ax.add_patch(pol)
</code></pre>
<p>然后你可以称之为:</p>
<pre><code>fig, ax = plt.subplots(1,2)
filled_arc((0,0), 1, 45, 135, ax[0], "blue")
filled_arc((0,0), 1, 0, 40, ax[1], "blue")
</code></pre>
<p>你会得到:</p>
<p><img src="https://i.stack.imgur.com/XGhLW.png" alt="filled_arc"/></p>
<p>或:</p>
<pre><code>fig, ax = plt.subplots(1, 1)
for i in range(0,360,45):
filled_arc((0,0), 1, i, i+45, ax, plt.cm.jet(i))
</code></pre>
<p>你会得到:</p>
<p><img src="https://i.stack.imgur.com/VmoQK.png" alt="enter image description here"/></p>
<p>高温高压</p>