Сюжет в не-сетчатом созвездии в Python / Matplotlib?
Интересно, есть ли возможность отображать несколько графиков или изображений в созвездии без сетки? Например, есть ли способ отобразить набор изображений на одной фигуре в круглом созвездии по периметру, используя Matplotlib или любой другой пакет python?
1 ответ
Оси могут быть созданы и позиционированы через fig.add_axes([x,y,width,height])
смотри документацию. Также смотрите Каковы различия между add_axes и add_subplot?
В этом случае мы можем добавить оси в позиции, лежащие на окружности, создавая какую-то ручную радиальную сетку осей.
import numpy as np
import matplotlib.pyplot as plt
N = 8
t = np.linspace(0,2*np.pi, N, endpoint=False)
r = 0.37
h = 0.9 - 2*r
w = h
X,Y = r*np.cos(t)-w/2.+ 0.5, r*np.sin(t)-h/2.+ 0.5
fig = plt.figure()
axes = []
for x,y in zip(X,Y):
axes.append(fig.add_axes([x, y, w, h]))
plt.show()