📜  Python中的 Matplotlib.axes.Axes.scatter()

📅  最后修改于: 2022-05-13 01:54:45.845000             🧑  作者: Mango

Python中的 Matplotlib.axes.Axes.scatter()

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Axes 类包含大部分图形元素:Axis、Tick、Line2D、Text、Polygon 等,并设置坐标系。 Axes 的实例通过回调属性支持回调。

matplotlib.axes.Axes.scatter()函数

matplotlib 库的 axes 模块中的Axes.scatter()函数用于绘制 y 与 x 的散点图,具有不同的标记大小和/或颜色。

下面的示例说明了 matplotlib.axes 中的 matplotlib.axes.Axes.errorbar()函数:

示例 1:

# Implementation of matplotlib function
      
import matplotlib.pyplot as plt
import numpy as np
  
# unit value1 ellipse
rx, ry = 3., 1.
value1 = rx * ry * np.pi
value2 = np.arange(0, 3 * np.pi + 0.01, 0.2)
  
value3 = np.column_stack([rx / value1 * np.cos(value2),
                          ry / value1 * np.sin(value2)])
  
x, y, s, c = np.random.rand(4, 99)
s *= 10**2.
  
fig, ax = plt.subplots()
ax.scatter(x, y, s, c, marker = value3)
ax.set_title("matplotlib.axes.Axes.scatter Example1")
plt.show()

输出:

示例 2:

# Implementation of matplotlib function
      
import numpy as np
import matplotlib.pyplot as plt
  
# first define the ratios
r1 = 0.2
r2 = r1 + 0.3
r3 = r2 + 0.7
  
# define some sizes of the
# scatter marker
sizes = np.array([60, 80, 120, 50])
  
# calculate the points of the
# first pie marker
x1 = np.cos(2 * np.pi * np.linspace(0, r1))
y1 = np.sin(2 * np.pi * np.linspace(0, r1))
  
xy1 = np.row_stack([[0, 0],
                    np.column_stack([x1, y1])])
  
s1 = np.abs(xy1).max()
  
x2 = np.cos(2 * np.pi * np.linspace(r1, r2))
y2 = np.sin(2 * np.pi * np.linspace(r1, r2))
  
xy2 = np.row_stack([[0, 0], 
                    np.column_stack([x2, y2])])
  
s2 = np.abs(xy2).max()
  
x3 = np.cos(2 * np.pi * np.linspace(r2, r3))
y3 = np.sin(2 * np.pi * np.linspace(r2, r3))
xy3 = np.row_stack([[0, 0],
                    np.column_stack([x3, y3])])
  
s3 = np.abs(xy3).max()
  
x4 = np.cos(2 * np.pi * np.linspace(r3, 1))
y4 = np.sin(2 * np.pi * np.linspace(r3, 1))
xy4 = np.row_stack([[0, 0],
                    np.column_stack([x4, y4])])
  
s4 = np.abs(xy4).max()
  
fig, ax = plt.subplots()
ax.scatter(range(3), range(3),
           marker = xy1, s = s1**2 * sizes, 
           facecolor ='blue')
  
ax.scatter(range(3), range(3),
           marker = xy2, s = s2**2 * sizes,
           facecolor ='green')
  
ax.scatter(range(3), range(3),
           marker = xy3, s = s3**2 * sizes, 
           facecolor ='red')
  
ax.scatter(range(3), range(3),
           marker = xy4, s = s4**2 * sizes,
           facecolor ='black')
  
ax.set_title("matplotlib.axes.Axes.scatter Example2")
plt.show()

输出: