Как сделать трехмерные и контурные графики из двух переменных математической функции - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу иметь возможность создавать трехмерные и контурные графики (с выбранными уровнями) из математической функции.

Например,

phi = np.linspace(0,np.pi)
theta = np.linspace(0,np.pi)

D = np.sin(phi-theta)

, где D - это двумерный массив, где каждое значение phi имеет массив, состоящий из всех thetas.Затем построить 3D с осями phi, theta и D.И контурный график, где уровни могут быть выбраны из любого значения (возможно, до 10 уровней, поэтому, например, phi можно изменить на np.linspace(0,np.pi,10))

Как я могу сделать такие 3D и контуручастки?

1 Ответ

0 голосов
/ 28 февраля 2019

Чтобы создать трехмерный график, вам нужно создать сетку из переменных phi и theta:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

phi = np.linspace(0, np.pi)
theta = np.linspace(0, np.pi)

Phi, Theta = np.meshgrid(phi, theta)

Отсюда вы можете продолжить и вычислить D исделайте свой сюжет:

D = np.sin(Phi - Theta)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(Phi, Theta, D)

, который дает следующий участок поверхности:

enter image description here

Контуры не намного больше работы (хотяне особенно освещают для простой функции синуса):

fig, ax = plt.subplots(1, 1)
ax.contour(Phi, Theta, D)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...