Графики выглядят как изометрическая проекция, что не очень удобно для оценки того, что происходит по оси delay. Для сравнения "на глаз" было бы хорошо, чтобы ось delay находилась параллельно плоскости монитора, а accum periods перпендикулярно.
Как прописать в коде угол, под которым отображаются графики?
x = np.arange (0, 64, 1)
y = np.arange (0, aver, 1)
xgrid, ygrid = np.meshgrid(x, y)
zgrid = ifft_data
x, y, z = xgrid,ygrid,zgrid
fig = pylab.figure()
axes = Axes3D(fig)
axes.plot_surface(x, y, z)
plt.xlabel('delay')
plt.ylabel('accumulation periods')
pylab.show()
Ответ
Воспользуйтесь ax.view_init(ax.elev, ax.azim)
Пример:
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
# Make data.
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm,
linewidth=0, antialiased=False)
Результат (по умолчанию):
После поворота:
ax.view_init(30, -89)
PS чтобы найти какие вам нужны значения углов - легче всего начертить график с углами по умолчанию в Jupyter (iPython), повернуть график мышкой так как вам надо и посмотреть какие углы получились:
In [209]: print('elev:\t{}\t\tazim:\t{}'.format(ax.elev, ax.azim))
elev: 30 azim: -89
Комментариев нет:
Отправить комментарий