Matplotlib.patches.Circle() - 创建一个半径给定的圆形补丁

Matplotlib.patches.Circle()

Python matplotlib.patches.Circle类用于在给定的中心xy = (x, y)上创建一个半径给定的圆形补丁。它使用贝塞尔样条曲线,更接近无标度圆。

语法:

matplotlib.patches.Circle(xy, radius=5, **kwargs)

参数:

  • xy:它是圆心。
  • radius:它设置要绘制的圆的半径。它的默认值是5个单位,是可选的。

示例1

import numpy as np
from matplotlib.patches import Circle
from matplotlib.collections import PatchCollection
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib import animation
  
  
fig, ax = plt.subplots()
  
patches = []
# create circles with random sizes 
# and locations
N = 12 # number of circles
x = np.random.rand(N)
y = np.random.rand(N)
radii = 0.1 * np.random.rand(N)
for x1, y1, r in zip(x, y, radii):
    circle = Circle((x1, y1), r)
    patches.append(circle)
  
# add these circles to a collection
p = PatchCollection(patches, cmap = cm.prism, alpha = 0.4)
ax.add_collection(p)
  
def animate(i):
      
    # random index to color map
    colors = 100 * np.random.rand(len(patches))
      
    # set new color colors
    p.set_array(np.array(colors))
    return p,
  
ani = animation.FuncAnimation(fig, animate,
                              frames = 50, interval = 50)
  
plt.show()

输出:

Matplotlib.patches.Circle()

示例2:

import numpy as np
import matplotlib
from matplotlib.patches import Circle, Wedge, Polygon, Ellipse
from matplotlib.collections import PatchCollection
import matplotlib.pyplot as plt
import matplotlib.patches as matpatches
  
  
fig, ax = plt.subplots(figsize =(8, 8))
patches = []
  
  
circle = Circle((2, 2), 2)
patches.append(circle)
  
polygon = matpatches.PathPatch(patches[0].get_path())
patches.append(polygon)
  
  
colors = 2 * np.random.rand(len(patches))
p = PatchCollection(patches,
                    cmap = matplotlib.cm.jet,
                    alpha = 0.4)
  
p.set_array(np.array(colors))
ax.add_collection(p)
  
plt.axis([-10, 10, -10, 10])
  
plt.show()
  
  
contain2 = patches[0].get_path().contains_points([[0.5, 0.5], 
                                                  [1.0, 1.0]])
contain3 = patches[0].contains_point([0.5, 0.5])
contain4 = patches[0].contains_point([1.0, 1.0])

输出:

Matplotlib.patches.Circle()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程