#python #matplotlib
#питон #matplotlib
Вопрос:
Я учусь строить 3d-графики, но понятия не имею, почему он не рисует график с отрицательной стороны. По сути, я пытаюсь построить график y=x^z, чтобы увидеть, как меняется y=x при изменении степени x от 0 доgt;2. Ниже приведен мой код.
import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = plt.axes(projection="3d") def y_function(x, z): return x**z x = np.linspace(-1, 1, 30) z = np.linspace(0, 2, 30) X, Z = np.meshgrid(x, z) Y = y_function(X, Z) fig = plt.figure() ax = plt.axes(projection="3d") ax.plot_wireframe(X, Y, Z, color='green') ax.set_xlabel('x') ax.set_ylabel('y') ax.set_zlabel('z') plt.show() ax = plt.axes(projection='3d') ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='winter', edgecolor='none') ax.set_title('surface');
Комментарии:
1. Ваша проблема связана с тем фактом, что отрицательные значения, возрастающие с дробной степенью, возвращают комплексные числа.