Одним из возможных решений было бы построение пары точек данных, слегка смещенных друг от друга для каждой исходной точки данных. Вы можете добавить и вычесть небольшое значение из x-координаты исходных данных и эффективно получить два символа рядом друг с другом. Тогда нужно будет точно масштабировать размер маркера и значение смещения в зависимости от размера графика, и вы сможете получить то, что описали. Однако это не будет настолько гибким, как простое определение нового пользовательского маркера.
Обратившись к на этот ранее отвеченный вопрос , я нашел способ выполнить что-то похожее на то, что вы описываете, более гибким способом (используя символы математического текста):
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0.0, 50.0, 2.0)
y = x ** 1.3 + np.random.rand(*x.shape) * 30.0
s = np.random.rand(*x.shape) * 800 + 500
plt.plot(x, y, 'ko', marker=r'$\mathrm{oo}$', markersize=12)
