带有自定义符号的散点图#

使用 TeX 符号#

自定义散点符号的一种简单方法是传递一个包含在 $ 符号中的 TeX 符号名称作为标记。下面我们使用marker=r'$\clubsuit$'.

import matplotlib.pyplot as plt
import numpy as np

# Fixing random state for reproducibility
np.random.seed(19680801)


x = np.arange(0.0, 50.0, 2.0)
y = x ** 1.3 + np.random.rand(*x.shape) * 30.0
sizes = np.random.rand(*x.shape) * 800 + 500

fig, ax = plt.subplots()
ax.scatter(x, y, sizes, c="green", alpha=0.5, marker=r'$\clubsuit$',
           label="Luck")
ax.set_xlabel("Leprechauns")
ax.set_ylabel("Gold")
ax.legend()
plt.show()
分散自定义符号

使用自定义路径#

或者,也可以将 N 个顶点的自定义路径作为 x、y 值的 Nx2 数组作为标记传递。

# unit area ellipse
rx, ry = 3., 1.
area = rx * ry * np.pi
theta = np.arange(0, 2 * np.pi + 0.01, 0.1)
verts = np.column_stack([rx / area * np.cos(theta), ry / area * np.sin(theta)])

x, y, s, c = np.random.rand(4, 30)
s *= 10**2.

fig, ax = plt.subplots()
ax.scatter(x, y, s, c, marker=verts)

plt.show()
分散自定义符号

由 Sphinx-Gallery 生成的画廊